System.Threading.Tasks.Dataflow Namespace
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Provides an actor-based programming model that supports in-process message passing for coarse-grained dataflow and pipelining tasks.
Classes
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. |
BufferBlock<T> |
Provides a buffer for storing data for a Dataflow. |
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. |
Structs
DataflowMessageHeader |
Provides a container of data attributes for passing between dataflow blocks. |
Interfaces
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. |
Enums
DataflowMessageStatus |
Represents the status of a DataflowMessageHeader when passed between dataflow blocks. |
Remarks
Note
The TPL Dataflow Library (the System.Threading.Tasks.Dataflow namespace) is not distributed with .NET. To install the System.Threading.Tasks.Dataflow namespace in Visual Studio, open your project, choose Manage NuGet Packages from the Project menu, and search online for the System.Threading.Tasks.Dataflow
package. Alternatively, to install it using the .NET Core CLI, run dotnet add package System.Threading.Tasks.Dataflow
.
For more information, see Dataflow.