DataflowBlock.ReceiveAsync<TOutput> Method (ISourceBlock<TOutput>, TimeSpan, CancellationToken)
Asynchronously receives a value from a specified source, providing a token to cancel the operation and observing an optional time-out interval.
Assembly: System.Threading.Tasks.Dataflow (in System.Threading.Tasks.Dataflow.dll)
public static Task<TOutput> ReceiveAsync<TOutput>( this ISourceBlock<TOutput> source, TimeSpan timeout, CancellationToken cancellationToken )
The type of data contained in the source.
- Type: System.Threading.Tasks.Dataflow.ISourceBlock<>
The source from which to receive the value.
- Type: System.TimeSpan
The maximum time interval, in milliseconds, to wait for the synchronous operation to complete, or an interval that represents -1 milliseconds to wait indefinitely.
- Type: System.Threading.CancellationToken
The token which may be used to cancel the receive operation.
Return ValueType: System.Threading.Tasks.Task<>
A task that represents the asynchronous receive operation. When a value is successfully received from the source, the returned task is completed and its Result returns the value. If a value cannot be retrieved because the time-out expired or cancellation was requested, the returned task is canceled. If the value cannot be retrieved because the source is empty and completed, an InvalidOperationException exception is thrown in the returned task.