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++; }