public bool TrySignal(MultipleReceiveBinder.ReceiveScopeSignalGate scope, IAsyncResult nestedResult)
 {
     if (scope.Signal(nestedResult))
     {
         this.Dequeue();
         return(true);
     }
     return(false);
 }
 internal void Enqueue(MultipleReceiveBinder.ReceiveScopeSignalGate receiveScope)
 {
     Fx.AssertAndThrow(this.count < this.size, "Cannot Enqueue into a full queue.");
     this.items[(this.head + this.count) % this.size] = receiveScope;
     this.count++;
 }