Raxol.Workflow.Edge (Raxol v2.6.0)

View Source

Edge descriptors for Raxol.Workflow.Graph.

Three shapes:

  • Edge -- static edge from from to to
  • GuardedEdge -- static edge guarded by a predicate
  • ConditionalEdge -- fan-out edge whose chooser returns the next node id (or a list of ids for parallel fan-out) based on state

The two terminal node ids are :__start__ and :__end__. Every graph must have at least one edge from :__start__ to a node and at least one edge to :__end__.

Summary

Functions

The reserved end-node id.

Return the source node id of any edge type.

The reserved start-node id.

Return the list of possible target node ids for any edge type. ConditionalEdge returns its declared candidate set. JoinEdge returns the join's own node id -- consumed by compile/2's reachability validation, which treats the join as a sink for its upstream branches.

Types

Functions

end_id()

@spec end_id() :: atom()

The reserved end-node id.

from(arg1)

@spec from(t()) :: Raxol.Workflow.Node.id()

Return the source node id of any edge type.

start_id()

@spec start_id() :: atom()

The reserved start-node id.

targets(arg1)

@spec targets(t()) :: [Raxol.Workflow.Node.id()]

Return the list of possible target node ids for any edge type. ConditionalEdge returns its declared candidate set. JoinEdge returns the join's own node id -- consumed by compile/2's reachability validation, which treats the join as a sink for its upstream branches.