JoinBlock<T1, T2> Class
Provides a dataflow block that joins across multiple dataflow sources, not necessarily of the same type, waiting for one item to arrive for each type before they’re all released together as a tuple consisting of one item per type.
Assembly: System.Threading.Tasks.Dataflow (in System.Threading.Tasks.Dataflow.dll)
generic<typename T1, typename T2> public ref class JoinBlock sealed : IReceivableSourceBlock<Tuple<T1, T2>^>, ISourceBlock<Tuple<T1, T2>^>, IDataflowBlock
Type Parameters
- T1
Specifies the type of data accepted by the block's first target.
- T2
Specifies the type of data accepted by the block's second target.
| Name | Description | |
|---|---|---|
![]() | JoinBlock<T1, T2>() | Initializes a new JoinBlock<T1, T2>. |
![]() | JoinBlock<T1, T2>(GroupingDataflowBlockOptions^) | Initializes a new JoinBlock<T1, T2>. |
| Name | Description | |
|---|---|---|
![]() | Completion | Gets a Task that represents the asynchronous operation and completion of the dataflow block. |
![]() | OutputCount | Gets the number of output items available to be received from this block. |
![]() | Target1 | Gets a target that may be used to offer messages of the first type. |
![]() | Target2 | Gets a target that may be used to offer messages of the second type. |
| Name | Description | |
|---|---|---|
![]() | Complete() | Signals to the IDataflowBlock that it should not accept nor produce any more messages nor consume any more postponed messages. |
![]() | Equals(Object^) | (Inherited from Object.) |
![]() | GetHashCode() | (Inherited from Object.) |
![]() | GetType() | (Inherited from Object.) |
![]() | LinkTo(ITargetBlock<Tuple<T1, T2>^>^, DataflowLinkOptions^) | Links the ISourceBlock<TOutput> to the specified ITargetBlock<TInput> . |
![]() | ToString() | Returns a string that represents the formatted name of this IDataflowBlock instance.(Overrides Object::ToString().) |
![]() | TryReceive(Predicate<Tuple<T1, T2>^>^, Tuple<T1, T2>^) | Attempts to synchronously receive an available output item from the IReceivableSourceBlock<TOutput>. |
![]() | TryReceiveAll(IList<Tuple<T1, T2>^>^) | Attempts to synchronously receive all available items from the IReceivableSourceBlock<TOutput>. |
| Name | Description | |
|---|---|---|
![]() ![]() | IDataflowBlock::Fault(Exception^) | Causes the IDataflowBlock to complete in a Faulted state. |
![]() ![]() | ISourceBlock<Tuple<T1, T2>^>::ConsumeMessage(DataflowMessageHeader, ITargetBlock<Tuple<T1, T2>^>^, Boolean) | Called by a linked ITargetBlock<TInput> to accept and consume a DataflowMessageHeader previously offered by this ISourceBlock<TOutput>. |
![]() ![]() | ISourceBlock<Tuple<T1, T2>^>::ReleaseReservation(DataflowMessageHeader, ITargetBlock<Tuple<T1, T2>^>^) | Called by a linked ITargetBlock<TInput> to release a previously reserved DataflowMessageHeader by this ISourceBlock<TOutput>. |
![]() ![]() | ISourceBlock<Tuple<T1, T2>^>::ReserveMessage(DataflowMessageHeader, ITargetBlock<Tuple<T1, T2>^>^) | Called by a linked ITargetBlock<TInput> to reserve a previously offered DataflowMessageHeader by this ISourceBlock<TOutput>. |
| Name | Description | |
|---|---|---|
![]() | AsObservable<Tuple<T1, T2>^>() | Creates a new IObservable<T> abstraction over the ISourceBlock<TOutput>.(Defined by DataflowBlock.) |
![]() | LinkTo<Tuple<T1, T2>^>(ITargetBlock<Tuple<T1, T2>^>^) | Overloaded. Links the ISourceBlock<TOutput> to the specified ITargetBlock<TInput>. (Defined by DataflowBlock.) |
![]() | LinkTo<Tuple<T1, T2>^>(ITargetBlock<Tuple<T1, T2>^>^, DataflowLinkOptions^, Predicate<Tuple<T1, T2>^>^) | Overloaded. Links the ISourceBlock<TOutput> to the specified ITargetBlock<TInput> using the specified filter. (Defined by DataflowBlock.) |
![]() | LinkTo<Tuple<T1, T2>^>(ITargetBlock<Tuple<T1, T2>^>^, Predicate<Tuple<T1, T2>^>^) | Overloaded. Links the ISourceBlock<TOutput> to the specified ITargetBlock<TInput> using the specified filter. (Defined by DataflowBlock.) |
![]() | OutputAvailableAsync<Tuple<T1, T2>^>() | Overloaded. Provides a Task<TResult> that asynchronously monitors the source for available output.(Defined by DataflowBlock.) |
![]() | OutputAvailableAsync<Tuple<T1, T2>^>(CancellationToken) | Overloaded. Provides a Task<TResult> that asynchronously monitors the source for available output. (Defined by DataflowBlock.) |
![]() | Receive<Tuple<T1, T2>^>() | Overloaded. Synchronously receives a value from a specified source.(Defined by DataflowBlock.) |
![]() | Receive<Tuple<T1, T2>^>(CancellationToken) | Overloaded. Synchronously receives a value from a specified source and provides a token to cancel the operation. (Defined by DataflowBlock.) |
![]() | Receive<Tuple<T1, T2>^>(TimeSpan) | Overloaded. Synchronously receives a value from a specified source, observing an optional time-out period.(Defined by DataflowBlock.) |
![]() | Receive<Tuple<T1, T2>^>(TimeSpan, CancellationToken) | Overloaded. Synchronously receives a value from a specified source, providing a token to cancel the operation and observing an optional time-out interval. (Defined by DataflowBlock.) |
![]() | ReceiveAsync<Tuple<T1, T2>^>() | Overloaded. Asynchronously receives a value from a specified source.(Defined by DataflowBlock.) |
![]() | ReceiveAsync<Tuple<T1, T2>^>(CancellationToken) | Overloaded. Asynchronously receives a value from a specified source and provides a token to cancel the operation. (Defined by DataflowBlock.) |
![]() | ReceiveAsync<Tuple<T1, T2>^>(TimeSpan) | Overloaded. Asynchronously receives a value from a specified source, observing an optional time-out period.(Defined by DataflowBlock.) |
![]() | ReceiveAsync<Tuple<T1, T2>^>(TimeSpan, CancellationToken) | Overloaded. Asynchronously receives a value from a specified source, providing a token to cancel the operation and observing an optional time-out interval. (Defined by DataflowBlock.) |
![]() | TryReceive<Tuple<T1, T2>^>(Tuple<T1, T2>^) | Attempts to synchronously receive an item from the ISourceBlock<TOutput>.(Defined by DataflowBlock.) |
Note |
|---|
The TPL Dataflow Library (System.Threading.Tasks.Dataflow namespace) is not distributed with the .NET Framework 4.5. To install the N:System.Threading.Tasks.Dataflow namespace, open your project in Visual Studio 2012, choose Manage NuGet Packages from the Project menu, and search online for the Microsoft.Tpl.Dataflow package. |
Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.




