System.Threading.Tasks.Dataflow Namespace
.NET Framework 4.5
The System.Threading.Tasks.Dataflow namespace provides an actor-based programming model that supports in-process message passing for coarse-grained dataflow and pipelining tasks.
For more information, see Dataflow (Task Parallel Library).
Tip
|
|---|
|
The TPL Dataflow Library (System.Threading.Tasks.Dataflow namespace) is not distributed with the .NET Framework 4.5. To install the 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. |
| Class | Description | |
|---|---|---|
|
ActionBlock<TInput> | Provides a dataflow block that invokes a provided Action<T> delegate for every data element received. |
|
BatchBlock<T> | Provides a dataflow block that batches inputs into arrays. |
|
BatchedJoinBlock<T1, T2> | Provides a dataflow block that batches a specified number of inputs of potentially differing types provided to one or more of its targets. |
|
BatchedJoinBlock<T1, T2, T3> | Provides a dataflow block that batches a specified number of inputs of potentially differing types provided to one or more of its targets. |
|
BroadcastBlock<T> | Provides a buffer for storing at most one element at time, overwriting each message with the next as it arrives. Messages are broadcast to all linked targets, all of which may consume a clone of the message. |
|
BufferBlock<T> | Provides a buffer for storing data. |
|
DataflowBlock | Provides a set of static (Shared in Visual Basic) methods for working with dataflow blocks. |
|
DataflowBlockOptions | Provides options used to configure the processing performed by dataflow blocks. |
|
DataflowLinkOptions | Provides options used to configure a link between dataflow blocks. |
|
ExecutionDataflowBlockOptions | Provides options used to configure the processing performed by dataflow blocks that process each message through the invocation of a user-provided delegate. These are dataflow blocks such as ActionBlock<TInput> and TransformBlock<TInput, TOutput>. |
|
GroupingDataflowBlockOptions | Provides options used to configure the processing performed by dataflow blocks that group together multiple messages. These are dataflow blocks such as JoinBlock<T1, T2> and BatchBlock<T>. |
|
JoinBlock<T1, T2> | 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. |
|
JoinBlock<T1, T2, T3> | Provides a dataflow block that joins across multiple dataflow sources, which are not necessarily of the same type, waiting for one item to arrive for each type before they’re all released together as a tuple that contains one item per type. |
|
TransformBlock<TInput, TOutput> | Provides a dataflow block that invokes a provided Func<T, TResult> delegate for every data element received. |
|
TransformManyBlock<TInput, TOutput> | Provides a dataflow block that invokes a provided Func<T, TResult> delegate for every data element received. |
|
WriteOnceBlock<T> | Provides a buffer for receiving and storing at most one element in a network of dataflow blocks. |
| Structure | Description | |
|---|---|---|
|
DataflowMessageHeader | Provides a container of data attributes for passing between dataflow blocks. |
| Interface | Description | |
|---|---|---|
|
IDataflowBlock | Represents a dataflow block. |
|
IPropagatorBlock<TInput, TOutput> | Represents a dataflow block that is both a target for data and a source of data. |
|
IReceivableSourceBlock<TOutput> | Represents a dataflow block that supports receiving messages without linking. |
|
ISourceBlock<TOutput> | Represents a dataflow block that is a source of data. |
|
ITargetBlock<TInput> | Represents a dataflow block that is a target for data. |
| Enumeration | Description | |
|---|---|---|
|
DataflowMessageStatus | Represents the status of a DataflowMessageHeader when passed between dataflow blocks. |
Tip