/// <summary> /// Try to close or delete a persistent queue opened at server side /// </summary> /// <param name="key">An ASCII string for identifying a queue at server side</param> /// <param name="c">A callback for tracking returning error code, which can be one of QUEUE_OK, QUEUE_DEQUEUING, and so on</param> /// <param name="discarded">a callback for tracking cancel or socket closed event</param> /// <param name="permanent">true for deleting a queue file, and false for closing a queue file</param> /// <returns>true for sending the request successfully, and false for failure</returns> public virtual bool CloseQueue(byte[] key, DClose c, DDiscarded discarded, bool permanent) { return(SendRequest(idClose, key, permanent, (ar) => { if (c != null) { int errCode; ar.UQueue.Load(out errCode); c((CAsyncQueue)ar.AsyncServiceHandler, errCode); } else { ar.UQueue.SetSize(0); } }, discarded, (DOnExceptionFromServer)null)); }
/// <summary> /// Try to close or delete a persistent queue opened at server side /// </summary> /// <param name="key">An ASCII string for identifying a queue at server side</param> /// <param name="c">A callback for tracking returning error code, which can be one of QUEUE_OK, QUEUE_DEQUEUING, and so on</param> /// <param name="permanent">true for deleting a queue file, and false for closing a queue file</param> /// <returns>true for sending the request successfully, and false for failure</returns> public bool CloseQueue(byte[] key, DClose c, bool permanent) { if (key == null) key = new byte[0]; return SendRequest(idClose, key, permanent, (ar) => { if (c != null) { int errCode; ar.Load(out errCode); c(errCode); } else { ar.UQueue.SetSize(0); } }); }
/// <summary> /// Try to close or delete a persistent queue opened at server side /// </summary> /// <param name="key">An ASCII string for identifying a queue at server side</param> /// <param name="c">A callback for tracking returning error code, which can be one of QUEUE_OK, QUEUE_DEQUEUING, and so on</param> /// <param name="discarded">a callback for tracking cancel or socket closed event</param> /// <param name="permanent">true for deleting a queue file, and false for closing a queue file</param> /// <returns>true for sending the request successfully, and false for failure</returns> public virtual bool CloseQueue(byte[] key, DClose c, DDiscarded discarded, bool permanent) { if (key == null) { key = new byte[0]; } return(SendRequest(idClose, key, permanent, (ar) => { if (c != null) { int errCode; ar.Load(out errCode); c(errCode); } else { ar.UQueue.SetSize(0); } }, discarded, (DOnExceptionFromServer)null)); }
/// <summary> /// Try to close a persistent queue opened at server side /// </summary> /// <param name="key">An ASCII string for identifying a queue at server side</param> /// <param name="c">A callback for tracking returning error code, which can be one of QUEUE_OK, QUEUE_DEQUEUING, and so on</param> /// <returns>true for sending the request successfully, and false for failure</returns> public bool CloseQueue(byte[] key, DClose c) { return CloseQueue(key, c, false); }
/// <summary> /// Try to close or delete a persistent queue opened at server side /// </summary> /// <param name="key">An ASCII string for identifying a queue at server side</param> /// <param name="c">A callback for tracking returning error code, which can be one of QUEUE_OK, QUEUE_DEQUEUING, and so on</param> /// <param name="discarded">a callback for tracking cancel or socket closed event</param> /// <returns>true for sending the request successfully, and false for failure</returns> public bool CloseQueue(byte[] key, DClose c, DDiscarded discarded) { return(CloseQueue(key, c, discarded, false)); }
/// <summary> /// Try to close a persistent queue opened at server side /// </summary> /// <param name="key">An ASCII string for identifying a queue at server side</param> /// <param name="c">A callback for tracking returning error code, which can be one of QUEUE_OK, QUEUE_DEQUEUING, and so on</param> /// <returns>true for sending the request successfully, and false for failure</returns> public bool CloseQueue(byte[] key, DClose c) { return(CloseQueue(key, c, null, false)); }