internal IQueueItem ExecGet(QueueMessage request) { try { MQueue Q = Get(request.Host); if (Q == null) { throw new MessageException(MessageState.InvalidMessageHost, "message.Host is invalid " + request.Host); } switch (request.Command) { case QueueCmd.Dequeue: return(Q.Dequeue()); case QueueCmd.DequeuePriority: return(Q.Dequeue(request.Priority)); case QueueCmd.Peek: return(Q.Peek()); case QueueCmd.PeekPriority: return(Q.Peek(request.Priority)); } } catch (MessageException mex) { QLogger.ErrorFormat("ExecGet MessageException: " + mex.Message); } catch (ArgumentException ase) { QLogger.ErrorFormat("ExecGet ArgumentException: " + ase.Message); } catch (SerializationException se) { QLogger.ErrorFormat("ExecGet SerializationException: " + se.Message); } catch (Exception ex) { QLogger.ErrorFormat("ExecGet Exception: " + ex.Message); } return(null); }
internal MessageState ExecSet(QueueMessage request) { try { if (request == null) { throw new ArgumentNullException("QueueManager.ExecSet message"); } if (request.Host == null)// || message.Host.Count == 0) { throw new ArgumentNullException("QueueManager.ExecSet message.Host is invalid"); } MQueue Q = Get(request.Host); if (Q == null) { throw new MessageException(MessageState.InvalidMessageHost, "message.Host is invalid " + request.Host); } Q.Enqueue(request.GetQueueItem()); //TODO: DISTREBUTING TO HOSTS LIST //foreach (var host in request.Host) //{ // if (host.IsLocal) // { // MQueue Q = Get(host.HostName); // if (Q == null) // { // throw new MessageException(MessageState.InvalidMessageHost, "message.Host is invalid " + message.Host); // } // Q.Enqueue(item); // } // else // { // //TODO:not supported // throw new Exception("Host not IsLocal not supported!"); // } //} } catch (MessageException mex) { QLogger.ErrorFormat("ExecSet MessageException: " + mex.Message); return(MessageState.MessageError); } catch (ArgumentException ase) { QLogger.ErrorFormat("ExecSet ArgumentException: " + ase.Message); return(MessageState.ArgumentsError); } catch (SerializationException se) { QLogger.ErrorFormat("ExecSet SerializationException: " + se.Message); return(MessageState.SerializeError); } catch (Exception ex) { QLogger.ErrorFormat("ExecSet Exception: " + ex.Message); return(MessageState.UnExpectedError); } return(MessageState.Ok); }
//private void M_db_ItemChanged(object sender, Generic.GenericEventArgs<string, string, IQueueItem> e) //{ // QLogger.InfoFormat("PriorityPersistQueue ItemChanged : action- {0}, key- {1}", e.Args1, e.Args2, e.Args3); //} private void M_db_ErrorOcurred(object sender, Generic.GenericEventArgs <string> e) { QLogger.ErrorFormat("PriorityPersistQueue ErrorOcurred : {0}", e.Args); }