示例#1
0
 internal void EnqueueNewMessage(ConcurrencyBehavior.IWaiter waiter)
 {
     if (_newMessageQueue == null)
     {
         _newMessageQueue = new Queue <ConcurrencyBehavior.IWaiter>();
     }
     _newMessageQueue.Enqueue(waiter);
 }
示例#2
0
 internal void EnqueueCalloutMessage(ConcurrencyBehavior.IWaiter waiter)
 {
     if (_calloutMessageQueue == null)
     {
         _calloutMessageQueue = new Queue <ConcurrencyBehavior.IWaiter>();
     }
     _calloutMessageQueue.Enqueue(waiter);
 }
示例#3
0
 private ConcurrencyBehavior.IWaiter DequeueFrom(Queue <ConcurrencyBehavior.IWaiter> queue)
 {
     ConcurrencyBehavior.IWaiter waiter = queue.Dequeue();
     if (queue.Count == 0)
     {
         queue.TrimExcess();
     }
     return(waiter);
 }