DataflowBlock::ReceiveAsync<TOutput> Method (ISourceBlock<TOutput>^, TimeSpan)

 

Asynchronously receives a value from a specified source, observing an optional time-out period.

Namespace:   System.Threading.Tasks.Dataflow
Assembly:  System.Threading.Tasks.Dataflow (in System.Threading.Tasks.Dataflow.dll)

public:
generic<typename TOutput>
[ExtensionAttribute]
static Task<TOutput>^ ReceiveAsync(
	ISourceBlock<TOutput>^ source,
	TimeSpan timeout
)

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.

Return Value

Type: System.Threading.Tasks::Task<TOutput>^

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, 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.

Type Parameters

TOutput

The type of data contained in the source.

Exception Condition
ArgumentNullException

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.

Return to top
Show: