Fork Station
The send-side of a fork-join pair: receives a parent QObject, spawns a variable number of children, and routes the parent onward concurrently with the children. Children are created by childFactory and registered with the paired join so it can reunite them with the parent.
Spawning is synchronous (event-graph): the children are emitted to childReceiver and the parent is emitted to its onward receiver within the same receive call. The two paths can include any number of stations before the join's parent and child inputs.
Children are internal to the network — they are not counted in the owning network's number-in-system (they are not received at an ingress) and they are absorbed at the join (they never reach a sink). The parent carries the network's NS and completion accounting.
The child QObjects are created by the fork (since QObject is an inner class of ModelElement); childFactory only configures each freshly created child (set type, attach value object, etc.) — same idiom as a source station's marking action. Supply null for a default child.
Parameters
the model element serving as this station's parent
the paired JoinStation that will reunite the children with the parent
how many children to spawn for a given parent (must return >= 1)
optional per-child configuration applied to each freshly created child; null means an unconfigured QObject
where each newly created child is first sent
where the parent continues
the name of the station
Constructors
Properties
True if this node has any onward routing configured (a static next receiver, a station-level sender, or a class route). A non-terminal node for which this is false — and which is not a non-terminal step of a registered route — is a dangling node and fails validation.
The total number of children spawned.
The number of parents that have entered (forked).
Functions
Sets the receiver that newly spawned children are sent to.
Sets the receiver the parent continues to.
The statically known receivers this node may route to. Best-effort: empty when the node has no static link or when its routing is opaque (for example, a probabilistic sender whose destinations are not introspectable).