30namespace neograph::graph {
43 std::string node_name;
44 std::optional<std::string> command_goto;
57 std::vector<std::string> ready;
59 std::optional<std::string> winning_command_goto;
101 const std::vector<ConditionalEdge>& conditional_edges,
123 const std::string& current,
const GraphState& state)
const;
180 const std::vector<NodeResult>& results,
216 const std::vector<NodeResult>& results,
224 const std::vector<Edge>& edges_;
225 const std::vector<ConditionalEdge>& conditional_edges_;
NEOGRAPH_API export/import macro for shared-library builds.
Thread-safe container for all graph state channels.
Immutable routing oracle for a compiled graph.
NextStepPlan plan_next_step(const std::vector< StepRouting > &routings, const GraphState &state) const
Decide the next ready set from this super-step's routing.
std::vector< std::string > plan_start_step() const
Nodes directly routed from __start__ at step 0.
Scheduler(const std::vector< Edge > &edges, const std::vector< ConditionalEdge > &conditional_edges, BarrierSpecs barrier_specs={})
Bind the scheduler to the graph's edge topology.
std::vector< std::string > resolve_next_nodes(const std::string ¤t, const GraphState &state) const
Resolve the direct successors of a node.
const BarrierSpecs & barrier_specs() const
Read-only view of declared barriers (mainly for tests).
NextStepPlan plan_next_step(const std::vector< std::string > &just_ran, const std::vector< NodeResult > &results, const GraphState &state) const
Convenience overload: pair up ready[i] with results[i].
NextStepPlan plan_next_step(const std::vector< std::string > &just_ran, const std::vector< NodeResult > &results, const GraphState &state, BarrierState &barrier_state) const
NodeResult-taking barrier-aware overload.
NextStepPlan plan_next_step(const std::vector< StepRouting > &routings, const GraphState &state, BarrierState &barrier_state) const
Barrier-aware planning.
Graph engine type definitions: channels, edges, nodes, events, and control flow.
std::map< std::string, std::set< std::string > > BarrierSpecs
Static barrier declarations extracted at graph-compile time.
std::map< std::string, std::set< std::string > > BarrierState
Per-barrier signal bookkeeping.
Plan for the next super-step.
Per-node routing signal emitted by this super-step.