Class ActionTwoInputTransform<TLeftInput, TRightInput, TOutput>
A dataflow worker that executes an asynchronous callback once, which in turn consumes data from two upstream workers and sends data to the downstream worker. Both input ports and the output port can have rows of different types.
Note: Use the factory methods in ActionTwoInputTransformFactory to create instances of this class.
Input data can be processed row by row via TakeRow() etc., or multiple rows can be processed via TryTakeBuffer(TInput[]) etc.
Note that all dataflow workers must adhere to the Row Ownership rules.
Note that the two inputs by default provide Full buffering of incoming data, which potentially can consume a large amount of memory. See BufferingMode for further details.
If one or two ErrorOutput ports are needed, either inherit from this class or from
TwoInputTransformBase<TDerived, TLeftInput, TRightInput, TOutput>, and add them explicitly.
Also see the ActionTransform example, which works in a similar way to this class.
Inheritance
Implements
Inherited Members
Namespace: actionETL
Assembly: actionETL.dll
Syntax
public class ActionTwoInputTransform<TLeftInput, TRightInput, TOutput> : ActionWorkerBase<ActionTwoInputTransform<TLeftInput, TRightInput, TOutput>>, IDisposeOnFinished where TLeftInput : class where TRightInput : class where TOutput : class
Type Parameters
| Name | Description |
|---|---|
| TLeftInput | The type of each |
| TRightInput | The type of each |
| TOutput | The type of the output rows. |
Properties
LeftInput
Gets the left input port for consuming rows from the left upstream worker.
Declaration
public InputPort<TLeftInput> LeftInput { get; }
Property Value
| Type | Description |
|---|---|
| InputPort<TLeftInput> | The left input port. |
Output
Gets the output port for sending rows to the downstream worker.
Declaration
public OutputPort<TOutput> Output { get; }
Property Value
| Type | Description |
|---|---|
| OutputPort<TOutput> | The output port. |
RightInput
Gets the right input port for consuming rows from the right upstream worker.
Declaration
public InputPort<TRightInput> RightInput { get; }
Property Value
| Type | Description |
|---|---|
| InputPort<TRightInput> | The right input port. |