The Funnel block accepts multiple discrete event message input ports (in1, in2, in3) and simply passes them through, one-at-a-time, through the output port. The Funnel block allows you to connect outputs from multiple blocks into blocks that normally can connect to only one input discrete event message.
Example The Funnel block lets the Value Accumulator block be triggered by different Order blocks. It receives the discrete event messages from the two Order blocks and sends them downstream one at a time.
ADL normally does not allow multiple connections into a single discrete input. For instance, in the illustration shown below, the user is attempting to accumulate the trade quantities generated from two separate instruments into a single Value Accumulator block. However, the attempted connection is prohibited by ADL.
However, by using the Funnel block, you can make multiple connections into the Value Accumulator block. But, two separate discrete event messages generated by each of the two instruments will never pass through the Funnel block simultaneously. Even if both instruments trade at the same time, the corresponding discrete event messages will be generated and output sequentially, one after the other.
Example This example uses the Funnel block count the combined fill quantities for two different instruments by funneling the fills from both Order blocks into a single Value Accumulator block.
To customize the block, update the Block Properties.
Property | Description |
---|---|
Name | Name to display beneath the block on the ADL canvas |