Interface IPipelineBuilder
- Namespace
- DotnetKit.DataflowBuilder.Abstractions
- Assembly
- DotnetKit.DataflowBuilder.dll
Defines core operations and factory methods for assembling, configuring, and linking dataflow blocks within a pipeline.
public interface IPipelineBuilder
Properties
CancellationToken
Gets the cancellation token associated with the pipeline execution lifecycle.
CancellationToken CancellationToken { get; }
Property Value
Methods
AddPropagatorBlock<TInput, TOutput>(IPropagatorBlock<TInput, TOutput>)
Links the last block in the pipeline to the specified propagator block and registers it as the current head block.
void AddPropagatorBlock<TInput, TOutput>(IPropagatorBlock<TInput, TOutput> propagatorBlock)
Parameters
propagatorBlockIPropagatorBlock<TInput, TOutput>The propagator block to append to the pipeline.
Type Parameters
TInputThe input data type expected by the propagator block.
TOutputThe output data type produced by the propagator block.
AddTargetBlock<TInput>(ITargetBlock<TInput>)
Links the last block in the pipeline to the specified terminal target block and registers it.
void AddTargetBlock<TInput>(ITargetBlock<TInput> targetBlock)
Parameters
targetBlockITargetBlock<TInput>The target block terminating the pipeline.
Type Parameters
TInputThe input data type accepted by the target block.
CreateActionBlock<TInput>(Action<TInput>, int)
Creates a synchronous terminal action block (ActionBlock<TInput>) with error handling.
ITargetBlock<TInput> CreateActionBlock<TInput>(Action<TInput> targetAction, int maxDegreeOfParallelism)
Parameters
targetActionAction<TInput>The synchronous consumer action invoked for each incoming item.
maxDegreeOfParallelismintThe maximum number of concurrent tasks allowed.
Returns
- ITargetBlock<TInput>
A configured target block.
Type Parameters
TInputThe input item type.
CreateAscynActionBlock<TInput>(Func<TInput, Task>, int)
Creates an asynchronous terminal action block (ActionBlock<TInput>) with error handling.
[Obsolete("Use CreateAsyncActionBlock instead. This method has a typo and will be removed in a future release.")]
ITargetBlock<TInput> CreateAscynActionBlock<TInput>(Func<TInput, Task> targetAction, int maxDegreeOfParallelism)
Parameters
targetActionFunc<TInput, Task>The asynchronous consumer action invoked for each incoming item.
maxDegreeOfParallelismintThe maximum number of concurrent tasks allowed.
Returns
- ITargetBlock<TInput>
A configured target block.
Type Parameters
TInputThe input item type.
CreateAsyncActionBlock<TInput>(Func<TInput, Task>, int)
Creates an asynchronous terminal action block (ActionBlock<TInput>) with error handling.
ITargetBlock<TInput> CreateAsyncActionBlock<TInput>(Func<TInput, Task> targetAction, int maxDegreeOfParallelism)
Parameters
targetActionFunc<TInput, Task>The asynchronous consumer action invoked for each incoming item.
maxDegreeOfParallelismintThe maximum number of concurrent tasks allowed.
Returns
- ITargetBlock<TInput>
A configured target block.
Type Parameters
TInputThe input item type.
CreateAsyncTransformBlock<TInput, TOutput>(Func<TInput, Task<TOutput>>, int)
Creates an asynchronous transformation propagator block (TransformBlock<TInput, TOutput>) with error handling.
IPropagatorBlock<TInput, TOutput> CreateAsyncTransformBlock<TInput, TOutput>(Func<TInput, Task<TOutput>> propagatorFunc, int maxDegreeOfParallelism)
Parameters
propagatorFuncFunc<TInput, Task<TOutput>>The asynchronous transformation function.
maxDegreeOfParallelismintThe maximum number of concurrent operations allowed.
Returns
- IPropagatorBlock<TInput, TOutput>
A configured propagator block.
Type Parameters
TInputThe input item type.
TOutputThe transformed output item type.
CreateAsyncTransformManyBlock<TInput, TOutput>(Func<TInput, Task<IEnumerable<TOutput>>>, int)
Creates an asynchronous one-to-many transformation propagator block (TransformManyBlock<TInput, TOutput>) with error handling.
IPropagatorBlock<TInput, TOutput> CreateAsyncTransformManyBlock<TInput, TOutput>(Func<TInput, Task<IEnumerable<TOutput>>> propagatorFunc, int maxDegreeOfParallelism)
Parameters
propagatorFuncFunc<TInput, Task<IEnumerable<TOutput>>>The asynchronous transformation function returning a sequence of output items.
maxDegreeOfParallelismintThe maximum number of concurrent operations allowed.
Returns
- IPropagatorBlock<TInput, TOutput>
A configured propagator block.
Type Parameters
TInputThe input item type.
TOutputThe individual output item type yielded by the sequence.
CreateBatchBlock<TInput>(int)
Creates a batching propagator block (BatchBlock<T>) that groups incoming items into fixed-size arrays.
IPropagatorBlock<TInput, TInput[]> CreateBatchBlock<TInput>(int batchSize)
Parameters
batchSizeintThe maximum number of items in each batch.
Returns
- IPropagatorBlock<TInput, TInput[]>
A configured batching propagator block.
Type Parameters
TInputThe input item type.
CreateTransformBlock<TInput, TOutput>(Func<TInput, TOutput>, int)
Creates a synchronous transformation propagator block (TransformBlock<TInput, TOutput>) with error handling.
IPropagatorBlock<TInput, TOutput> CreateTransformBlock<TInput, TOutput>(Func<TInput, TOutput> propagatorFunc, int maxDegreeOfParallelism)
Parameters
propagatorFuncFunc<TInput, TOutput>The synchronous transformation function.
maxDegreeOfParallelismintThe maximum number of concurrent operations allowed.
Returns
- IPropagatorBlock<TInput, TOutput>
A configured propagator block.
Type Parameters
TInputThe input item type.
TOutputThe transformed output item type.
CreateTransformManyBlock<TInput, TOutput>(Func<TInput, IEnumerable<TOutput>>, int)
Creates a synchronous one-to-many transformation propagator block (TransformManyBlock<TInput, TOutput>) with error handling.
IPropagatorBlock<TInput, TOutput> CreateTransformManyBlock<TInput, TOutput>(Func<TInput, IEnumerable<TOutput>> propagatorFunc, int maxDegreeOfParallelism)
Parameters
propagatorFuncFunc<TInput, IEnumerable<TOutput>>The transformation function returning a sequence of output items.
maxDegreeOfParallelismintThe maximum number of concurrent operations allowed.
Returns
- IPropagatorBlock<TInput, TOutput>
A configured propagator block.
Type Parameters
TInputThe input item type.
TOutputThe individual output item type yielded by the sequence.