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