Class DataFlowExecutableSource<TOutput>

Base implementation for a source that can be executed.

Inherited Members
System.Object.Equals(System.Object)
System.Object.Equals(System.Object, System.Object)
System.Object.GetHashCode()
System.Object.GetType()
System.Object.MemberwiseClone()
System.Object.ReferenceEquals(System.Object, System.Object)
System.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
NameDescription
TOutput

Fields

SourceTask

Declaration
    protected Task SourceTask
Field Value
TypeDescription
System.Threading.Tasks.Task

Properties

Buffer

Declaration
    protected BufferBlock<TOutput> Buffer { get; set; }
Property Value
TypeDescription
System.Threading.Tasks.Dataflow.BufferBlock<TOutput>

CompleteManually

Declaration
    protected virtual bool CompleteManually { get; set; }
Property Value
TypeDescription
System.Boolean

Limit

Reads data from the source until the limit is reached. Default is 0 (=no limit).

Declaration
    public int Limit { get; set; }
Property Value
TypeDescription
System.Int32

ProgressCountIsInLimit

Declaration
    protected bool ProgressCountIsInLimit { get; }
Property Value
TypeDescription
System.Boolean

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
TypeDescription
System.Threading.Tasks.Dataflow.ISourceBlock<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
    public void Execute()

ExecuteAsync()

Starts the data flow asynchronously. This method will return an awaitable task that completes or faults when the flow ran to completion.

Declaration
    public Task ExecuteAsync()
Returns
TypeDescription
System.Threading.Tasks.Task

InitComponent()

Declaration
    protected override void InitComponent()
Overrides

OnExecutionDoAsyncWork()

Declaration
    protected abstract void OnExecutionDoAsyncWork()

OnExecutionDoSynchronousWork()

Declaration
    protected abstract void OnExecutionDoSynchronousWork()

Post()

Starts the data flow synchronously. This method will return when all data was posted into the flow

Declaration
    public void Post()

Implements