DataflowBlock::Receive<TOutput> Method (ISourceBlock<TOutput>^, TimeSpan, CancellationToken)
Synchronously 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: generic<typename TOutput> [ExtensionAttribute] static TOutput Receive( ISourceBlock<TOutput>^ source, TimeSpan timeout, CancellationToken cancellationToken )
Parameters
- source
-
Type:
System.Threading.Tasks.Dataflow::ISourceBlock<TOutput>^
The source from which to receive the value.
- timeout
-
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.
- cancellationToken
-
Type:
System.Threading::CancellationToken
The token to use to cancel the receive operation.
Return Value
Type: TOutputThe received value.
Type Parameters
- TOutput
The type of data contained in the source.
| Exception | Condition |
|---|---|
| ArgumentNullException | The source is null. |
| ArgumentOutOfRangeException | timeout is a negative number other than -1 milliseconds, which represents an infinite time-out period. -or- timeout is greater than MaxValue. |
| InvalidOperationException | No item could be received from the source. |
| TimeoutException | The specified time-out expired before an item was received from the source. |
| OperationCanceledException | The operation was canceled before an item was received from the source. |
If the source successfully offered an item value that was received by this operation, that value is returned even if a concurrent time-out or cancellation request occurs.