119 references to ChannelUtilities
System.Threading.Channels (119)
System\Threading\Channels\AsyncOperation.cs (2)
369ChannelUtilities.UnsafeQueueUserWorkItem(continuation, state); 387ChannelUtilities.QueueUserWorkItem(continuation, state);
System\Threading\Channels\BoundedChannel.cs (35)
169return ChannelUtilities.GetInvalidCompletionValueTask<T>(parent._doneWriting); 178ChannelUtilities.Enqueue(ref parent._blockedReadersHead, singleton); 185ChannelUtilities.Enqueue(ref parent._blockedReadersHead, reader); 211return parent._doneWriting != ChannelUtilities.s_doneWritingSentinel ? 225ChannelUtilities.Enqueue(ref parent._waitingReadersHead, singleton); 232ChannelUtilities.Enqueue(ref parent._waitingReadersHead, waiter); 252ChannelUtilities.Complete(parent._completion, parent._doneWriting); 268while (ChannelUtilities.TryDequeue(ref parent._blockedWritersHead, out BlockedWriteAsyncOperation<T>? w)) 278ChannelUtilities.AssertAll(parent._waitingWritersHead, static writer => writer.RunContinuationsAsynchronously, "All WaitToWriteAsync waiters should have been asynchronous."); 279ChannelUtilities.SetOperations(ref parent._waitingWritersHead, result: true); 326parent._doneWriting = error ?? ChannelUtilities.s_doneWritingSentinel; 348ChannelUtilities.Complete(parent._completion, error); 354ChannelUtilities.FailOperations(blockedReadersHead, ChannelUtilities.CreateInvalidCompletionException(error)); 355ChannelUtilities.FailOperations(blockedWritersHead, ChannelUtilities.CreateInvalidCompletionException(error)); 356ChannelUtilities.SetOrFailOperations(waitingReadersHead, result: false, error: error); 357ChannelUtilities.SetOrFailOperations(waitingWritersHead, result: false, error: error); 391blockedReader = ChannelUtilities.TryDequeueAndReserveCompletionIfCancelable(ref parent._blockedReadersHead); 397waitingReadersHead = ChannelUtilities.TryReserveCompletionIfCancelable(ref parent._waitingReadersHead); 461ChannelUtilities.DangerousSetOperations(waitingReadersHead, result: true); 482return parent._doneWriting != ChannelUtilities.s_doneWritingSentinel ? 503ChannelUtilities.Enqueue(ref parent._waitingWritersHead, singleton); 510ChannelUtilities.Enqueue(ref parent._waitingWritersHead, waiter); 537return new ValueTask(Task.FromException(ChannelUtilities.CreateInvalidCompletionException(parent._doneWriting))); 548blockedReader = ChannelUtilities.TryDequeueAndReserveCompletionIfCancelable(ref parent._blockedReadersHead); 554waitingReadersHead = ChannelUtilities.TryReserveCompletionIfCancelable(ref parent._waitingReadersHead); 580ChannelUtilities.Enqueue(ref parent._blockedWritersHead, singleton); 590ChannelUtilities.Enqueue(ref parent._blockedWritersHead, writer); 636ChannelUtilities.DangerousSetOperations(waitingReadersHead, result: true); 661ChannelUtilities.UnsafeQueueUserWorkItem(static state => // escape cancellation callback 668ChannelUtilities.Remove(ref state.Key._blockedReadersHead, blockedReader); 672ChannelUtilities.Remove(ref state.Key._blockedWritersHead, blockedWriter); 676ChannelUtilities.Remove(ref state.Key._waitingReadersHead, waitingReader); 680ChannelUtilities.Remove(ref state.Key._waitingWritersHead, waitingWriter);
System\Threading\Channels\ChannelReader.cs (1)
21public virtual Task Completion => ChannelUtilities.s_neverCompletingTask;
System\Threading\Channels\ChannelUtilities.cs (1)
75while (ChannelUtilities.TryDequeue(ref head, out var op))
System\Threading\Channels\ChannelWriter.cs (2)
64throw ChannelUtilities.CreateInvalidCompletionException(); 74throw ChannelUtilities.CreateInvalidCompletionException();
System\Threading\Channels\RendezvousChannel.cs (33)
93blockedWriter = ChannelUtilities.TryDequeueAndReserveCompletionIfCancelable(ref parent._blockedWritersHead); 149return ChannelUtilities.GetInvalidCompletionValueTask<T>(parent._doneWriting); 153blockedWriter = ChannelUtilities.TryDequeueAndReserveCompletionIfCancelable(ref parent._blockedWritersHead); 161ChannelUtilities.Enqueue(ref parent._blockedReadersHead, reader); 163waitingWriters = ChannelUtilities.TryReserveCompletionIfCancelable(ref parent._waitingWritersHead); 180ChannelUtilities.DangerousSetOperations(waitingWriters, result: true); 202return parent._doneWriting != ChannelUtilities.s_doneWritingSentinel ? 217ChannelUtilities.Enqueue(ref parent._waitingReadersHead, waiter); 229blockedReaderCount = ChannelUtilities.CountOperations(_parent._blockedReadersHead); 230waitingReaderCount = ChannelUtilities.CountOperations(_parent._waitingReadersHead); 271parent._doneWriting = error ?? ChannelUtilities.s_doneWritingSentinel; 289ChannelUtilities.Complete(parent._completion, error); 294ChannelUtilities.FailOperations(blockedReadersHead, ChannelUtilities.CreateInvalidCompletionException(error)); 295ChannelUtilities.FailOperations(blockedWritersHead, ChannelUtilities.CreateInvalidCompletionException(error)); 296ChannelUtilities.SetOrFailOperations(waitingReadersHead, result: false, error: error); 297ChannelUtilities.SetOrFailOperations(waitingWritersHead, result: false, error: error); 315blockedReader = ChannelUtilities.TryDequeueAndReserveCompletionIfCancelable(ref parent._blockedReadersHead); 351return parent._doneWriting != ChannelUtilities.s_doneWritingSentinel ? 367ChannelUtilities.Enqueue(ref parent._waitingWritersHead, waiter); 391return new ValueTask(Task.FromException(ChannelUtilities.CreateInvalidCompletionException(parent._doneWriting))); 395blockedReader = ChannelUtilities.TryDequeueAndReserveCompletionIfCancelable(ref parent._blockedReadersHead); 404ChannelUtilities.Enqueue(ref parent._blockedWritersHead, writer); 406waitingReaders = ChannelUtilities.TryReserveCompletionIfCancelable(ref parent._waitingReadersHead); 413ChannelUtilities.DangerousSetOperations(waitingReaders, result: true); 437blockedWriterCount = ChannelUtilities.CountOperations(_parent._blockedWritersHead); 438waitingWriterCount = ChannelUtilities.CountOperations(_parent._waitingWritersHead); 455ChannelUtilities.UnsafeQueueUserWorkItem(static state => // escape cancellation callback 462ChannelUtilities.Remove(ref state.Key._blockedReadersHead, blockedReader); 466ChannelUtilities.Remove(ref state.Key._blockedWritersHead, blockedWriter); 470ChannelUtilities.Remove(ref state.Key._waitingReadersHead, waitingReader); 474ChannelUtilities.Remove(ref state.Key._waitingWritersHead, waitingWriter);
System\Threading\Channels\SingleConsumerUnboundedChannel.cs (9)
96return ChannelUtilities.GetInvalidCompletionValueTask<T>(parent._doneWriting); 130ChannelUtilities.Complete(parent._completion, parent._doneWriting); 166return parent._doneWriting != ChannelUtilities.s_doneWritingSentinel ? 225parent._doneWriting = error ?? ChannelUtilities.s_doneWritingSentinel; 251ChannelUtilities.Complete(parent._completion, error); 257error = ChannelUtilities.CreateInvalidCompletionException(error); 344doneWriting != ChannelUtilities.s_doneWritingSentinel ? new ValueTask<bool>(Task.FromException<bool>(doneWriting)) : 353new ValueTask(Task.FromException(ChannelUtilities.CreateInvalidCompletionException(_parent._doneWriting))); 370ChannelUtilities.UnsafeQueueUserWorkItem(static state => // escape cancellation callback
System\Threading\Channels\UnboundedChannel.cs (18)
97return ChannelUtilities.GetInvalidCompletionValueTask<T>(parent._doneWriting); 104ChannelUtilities.Enqueue(ref parent._blockedReadersHead, reader); 132ChannelUtilities.Complete(parent._completion, parent._doneWriting); 163return parent._doneWriting != ChannelUtilities.s_doneWritingSentinel ? 172ChannelUtilities.Enqueue(ref parent._waitingReadersHead, waiter); 207parent._doneWriting = error ?? ChannelUtilities.s_doneWritingSentinel; 225ChannelUtilities.Complete(parent._completion, error); 231ChannelUtilities.FailOperations(blockedReadersHead, ChannelUtilities.CreateInvalidCompletionException(error)); 232ChannelUtilities.SetOrFailOperations(waitingReadersHead, result: false, error: error); 254blockedReader = ChannelUtilities.TryDequeueAndReserveCompletionIfCancelable(ref parent._blockedReadersHead); 260waitingReadersHead = ChannelUtilities.TryReserveCompletionIfCancelable(ref parent._waitingReadersHead); 271ChannelUtilities.DangerousSetOperations(waitingReadersHead, result: true); 283doneWriting != ChannelUtilities.s_doneWritingSentinel ? new ValueTask<bool>(Task.FromException<bool>(doneWriting)) : 290new ValueTask(Task.FromException(ChannelUtilities.CreateInvalidCompletionException(_parent._doneWriting))); 308ChannelUtilities.UnsafeQueueUserWorkItem(static state => // escape cancellation callback 315ChannelUtilities.Remove(ref state.Key._blockedReadersHead, blockedReader); 319ChannelUtilities.Remove(ref state.Key._waitingReadersHead, waitingReader);
System\Threading\Channels\UnboundedPriorityChannel.cs (18)
98return ChannelUtilities.GetInvalidCompletionValueTask<T>(parent._doneWriting); 105ChannelUtilities.Enqueue(ref parent._blockedReadersHead, reader); 143ChannelUtilities.Complete(parent._completion, parent._doneWriting); 168return parent._doneWriting != ChannelUtilities.s_doneWritingSentinel ? 177ChannelUtilities.Enqueue(ref parent._waitingReadersHead, waiter); 213parent._doneWriting = error ?? ChannelUtilities.s_doneWritingSentinel; 231ChannelUtilities.Complete(parent._completion, error); 237ChannelUtilities.FailOperations(blockedReadersHead, ChannelUtilities.CreateInvalidCompletionException(error)); 238ChannelUtilities.SetOrFailOperations(waitingReadersHead, result: false, error: error); 260blockedReader = ChannelUtilities.TryDequeueAndReserveCompletionIfCancelable(ref parent._blockedReadersHead); 266waitingReadersHead = ChannelUtilities.TryReserveCompletionIfCancelable(ref parent._waitingReadersHead); 277ChannelUtilities.DangerousSetOperations(waitingReadersHead, result: true); 289doneWriting != ChannelUtilities.s_doneWritingSentinel ? ValueTask.FromException<bool>(doneWriting) : 296ValueTask.FromException(ChannelUtilities.CreateInvalidCompletionException(_parent._doneWriting)); 314ChannelUtilities.UnsafeQueueUserWorkItem(static state => // escape cancellation callback 321ChannelUtilities.Remove(ref state.Key._blockedReadersHead, blockedReader); 325ChannelUtilities.Remove(ref state.Key._waitingReadersHead, waitingReader);