Class DataFlowExecutableSource<TOutput>
Base implementation for a source that can be executed.
Inheritance
object
DataFlowExecutableSource<TOutput>
Inherited Members
object.Equals(object)
object.Equals(object, object)
object.GetHashCode()
object.GetType()
object.MemberwiseClone()
object.ReferenceEquals(object, object)
object.ToString()
Namespace: ETLBox.DataFlow
Assembly: ETLBox.dll
Syntax
public abstract class DataFlowExecutableSource<TOutput> : DataFlowSource<TOutput>, ILoggableTask, IDataFlowLogging, IDataFlowExecutableSource<TOutput>, IDataFlowSource<TOutput>, IDataFlowSource, IDataFlowComponent, IDataFlowExecutableSource
Type Parameters
Fields
SourceTask
Declaration
protected Task SourceTask
Field Value
Type | Description |
---|
System.Threading.Tasks.Task | |
Properties
Buffer
Declaration
protected BufferBlock<TOutput> Buffer { get; set; }
Property Value
Type | Description |
---|
System.Threading.Tasks.Dataflow.BufferBlock<T><TOutput> | |
CompleteManually
Declaration
protected virtual bool CompleteManually { get; set; }
Property Value
Limit
Reads data from the source until the limit is reached. Default is 0 (=no limit).
Declaration
public int Limit { get; set; }
Property Value
ProgressCountIsExceedingLimit
Declaration
protected bool ProgressCountIsExceedingLimit { get; }
Property Value
ProgressCountIsInLimit
Declaration
protected bool ProgressCountIsInLimit { get; }
Property Value
SourceBlock
SourceBlock from the underlying TPL.Dataflow which is used as output buffer for the component.
Declaration
public override ISourceBlock<TOutput> SourceBlock { get; }
Property Value
Type | Description |
---|
System.Threading.Tasks.Dataflow.ISourceBlock<TOutput><TOutput> | |
Overrides
ETLBox.DataFlow.DataFlowSource<TOutput>.SourceBlock
Methods
Execute()
Starts the data flow for all connected components (also for other sources in the network).
Waits until all destinations run to completion.
Declaration
Execute(CancellationToken)
Declaration
public void Execute(CancellationToken cancellationToken)
Parameters
Type | Name | Description |
---|
System.Threading.CancellationToken | cancellationToken | A cancellation token which can be used to cancel the task of component (and all subsequent components in the flow) |
ExecuteAsync()
Starts the data flow asynchronously.
Declaration
public Task ExecuteAsync()
Returns
Type | Description |
---|
System.Threading.Tasks.Task | Returns an awaitable task that completes or faults when the flow ran to completion. |
ExecuteAsync(CancellationToken)
Starts the data flow asynchronously.
Declaration
public Task ExecuteAsync(CancellationToken cancellationToken)
Parameters
Type | Name | Description |
---|
System.Threading.CancellationToken | cancellationToken | A cancellation token which can be used to cancel the task of component (and all subsequent components in the flow) |
Returns
Type | Description |
---|
System.Threading.Tasks.Task | Returns an awaitable task that completes or faults when the flow ran to completion. |
InitComponent()
Declaration
protected override void InitComponent()
Overrides
InternalPost(CancellationToken?)
Declaration
public void InternalPost(CancellationToken? cancellationToken = null)
Parameters
Type | Name | Description |
---|
System.Threading.CancellationToken? | cancellationToken | |
OnExecutionDoAsyncWork()
Declaration
protected abstract void OnExecutionDoAsyncWork()
OnExecutionDoSynchronousWork()
Declaration
protected abstract void OnExecutionDoSynchronousWork()
Post()
Starts the data flow partly synchronously. This method will return when all data was posted into the flow.
Declaration
Post(CancellationToken)
Declaration
public void Post(CancellationToken cancellationToken)
Parameters
Type | Name | Description |
---|
System.Threading.CancellationToken | cancellationToken | A cancellation token which can be used to cancel the task of component (and all subsequent components in the flow) |
Implements