Configuration
Input Ports
There are no input ports for this process.
Output Ports
Pipefile Usage
The following sections describe the blocks needed to use this process in a pipe file.
Pipefile block
# ================================================================
process <this-proc>
:: distribute
# ================================================================
Process connections
The following Input ports will need to be set
# There are no input port's for this process
The following Output ports will need to be set
# This process will produce the following output ports
Class Description
-
class distribute_process : public sprokit::process
A process for distributing input data to multiple output edges.
\process Distribute input data among many output processes.
\iports
\iport{src/\portvar{tag}} The source input \portvar{tag}.
\oports
\oport{status/\portvar{tag}} The status of the input \portvar{tag}. \oport{dist/\portvar{tag}/\portvar{group}} A port to distribute the input \portvar{tag} to. Data is distributed in ASCII-betical order.
\reqs
\req Each input port \port{src/\portvar{tag}} must be connected. \req Each output port \port{status/\portvar{res}} must be connected. \req Each \portvar{res} must have at least two outputs to distribute to.
process distrib :: distribute # connect input port connect foo.p1_data to distrib.src/set1 # status output port connect distrib.status/set1 to bar.status # connect output ports connect distrib.dist/set1/A to bar.data connect distrib.dist/set1/B to bar_1.data
- Todo:
Add configuration to allow forcing a number of outputs for a source.
Add configuration to allow same number of outputs for all sources.
Note
Edges for a \portvar{tag} may only be connected after the \port{status/\portvar{tag}} is connected to. Before this connection happens, the other ports to not exist and will cause errors. In short: The first connection for any \portvar{tag} must be \port{status/\portvar{tag}}.