コード例 #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);
 }