Raxol.Workflow.Edge.JoinEdge (Raxol v2.6.0)

View Source

Barrier descriptor for a join node.

Created by Raxol.Workflow.Graph.add_join/4. The runtime treats the target node as a barrier: it executes the target's body once, with a merged state built from each upstream branch's terminal state. Upstream completions are tracked per-run; the join fires when every upstream id has committed.

from/1 returns the target (the join's own node id, where the edge "lives" in the source-keyed index); targets/1 returns [target] -- the join has no outgoing destination of its own, static or guarded edges from target carry the run forward.

Summary

Types

t()

@type t() :: %Raxol.Workflow.Edge.JoinEdge{
  parallelism: pos_integer() | :branches,
  reducer: ([map()] -> map()) | nil,
  target: Raxol.Workflow.Node.id(),
  timeout_ms: pos_integer() | nil,
  upstream: [Raxol.Workflow.Node.id()]
}