pub enum NodePrimitive {
Run,
All,
Race,
Map,
Spawn,
SpawnAndWait,
Receive,
Sleep,
StartTimer,
CancelTimer,
Branch,
Opaque,
}Expand description
The workflow primitive a node represents.
This is the fixed, known vocabulary of aion/workflow (the only surface the
extractor understands), plus Branch for a case over a primitive result
and Opaque for control flow the extractor recognises as present but cannot
faithfully model. Adding a primitive to the SDK requires adding it here; an
unrecognised call is never silently dropped, and control flow the walker
cannot resolve is surfaced as an Opaque node, never flattened into a false
sequential edge.
Variants§
Run
workflow.run — a single recorded activity dispatch.
All
workflow.all — concurrent fan-out, all must succeed.
Race
workflow.race — concurrent fan-out, first to settle wins.
Map
workflow.map — concurrent map over a list of activities.
Spawn
workflow.spawn — start a child workflow without waiting.
SpawnAndWait
workflow.spawn_and_wait — start a child workflow and await it.
Receive
workflow.receive — await a signal.
Sleep
workflow.sleep — a durable timer the workflow blocks on.
StartTimer
workflow.start_timer — arm a named durable timer.
CancelTimer
workflow.cancel_timer — cancel a previously armed timer.
Branch
A case expression branching on a workflow-primitive result: its arms
fan out to the real success/error subgraphs via labelled branch edges.
Opaque
Control flow the extractor detects but cannot faithfully model (a case
whose arms it cannot bound, a recursive helper call, an indirect
dispatch). It is surfaced as an explicit node carrying the offending
source snippet — the honest alternative to silently flattening an
unmodellable shape into a false sequence (the loud-on-unmodellable rule).
Trait Implementations§
Source§impl Clone for NodePrimitive
impl Clone for NodePrimitive
Source§fn clone(&self) -> NodePrimitive
fn clone(&self) -> NodePrimitive
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreimpl Copy for NodePrimitive
Source§impl Debug for NodePrimitive
impl Debug for NodePrimitive
impl Eq for NodePrimitive
Source§impl Hash for NodePrimitive
impl Hash for NodePrimitive
Source§impl Ord for NodePrimitive
impl Ord for NodePrimitive
Source§fn cmp(&self, other: &NodePrimitive) -> Ordering
fn cmp(&self, other: &NodePrimitive) -> Ordering
1.21.0 (const: unstable) · Source§fn max(self, other: Self) -> Selfwhere
Self: Sized,
fn max(self, other: Self) -> Selfwhere
Self: Sized,
Source§impl PartialEq for NodePrimitive
impl PartialEq for NodePrimitive
Source§impl PartialOrd for NodePrimitive
impl PartialOrd for NodePrimitive
impl StructuralPartialEq for NodePrimitive
Auto Trait Implementations§
impl Freeze for NodePrimitive
impl RefUnwindSafe for NodePrimitive
impl Send for NodePrimitive
impl Sync for NodePrimitive
impl Unpin for NodePrimitive
impl UnsafeUnpin for NodePrimitive
impl UnwindSafe for NodePrimitive
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Comparable<K> for Q
impl<Q, K> Comparable<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.