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