pub enum CorrelationKey {
ActivitySequence {
ordinal: usize,
activity: String,
},
Signal {
reference: String,
},
Timer {
id: String,
},
Child {
ordinal: usize,
name: String,
},
ControlFlow {
ordinal: usize,
},
Opaque {
ordinal: usize,
snippet: String,
},
}Expand description
The per-node identity a consumer maps recorded events onto.
The event-bearing kinds mirror how AD/AT sequences recorded events:
activities by their static source position plus name, signals by name,
timers by id, and children by spawn ordinal plus name. ControlFlow carries
no recorded event of its own; it positions a structural node (a branch) in
the discovery order. Opaque carries the source snippet of control flow the
extractor could not model, so a consumer can surface it for review.
Variants§
ActivitySequence
An activity dispatch: its static source-order position and activity name.
Fields
ordinal: usizeZero-based static source-order position of this activity among all
activity dispatches the extractor discovers, walking control flow
depth-first from the entry function (success arms before error
arms). It is a stable structural index, NOT a claim about the order
replay re-applies recorded events: under branching, which activities
a given run executes — and in what order — is data-dependent. A
consumer aligns a recorded ActivityCompleted onto a node by the
activity name and the branch the run actually took, not by assuming
this ordinal equals the recorded sequence position.
Signal
A signal receive, identified by the signal-reference expression text.
The signal name is not a string literal at the receive call site (it
is a typed SignalRef), so the reference identifier is carried as the
stable correlation token a consumer aligns against the run’s signal
reference.
Timer
A timer, identified by its literal name as written at the call site.
Child
A child spawn: its deterministic spawn ordinal and the literal child workflow name.
Fields
ControlFlow
A control-flow node (a branch) that records no event of its own.
Fields
Opaque
An unmodellable control-flow node: control flow the extractor detected but could not faithfully classify, carrying the offending source snippet so a consumer can render it for review. It records no event of its own.
Trait Implementations§
Source§impl Clone for CorrelationKey
impl Clone for CorrelationKey
Source§fn clone(&self) -> CorrelationKey
fn clone(&self) -> CorrelationKey
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for CorrelationKey
impl Debug for CorrelationKey
impl Eq for CorrelationKey
Source§impl Hash for CorrelationKey
impl Hash for CorrelationKey
Source§impl Ord for CorrelationKey
impl Ord for CorrelationKey
Source§fn cmp(&self, other: &CorrelationKey) -> Ordering
fn cmp(&self, other: &CorrelationKey) -> 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 CorrelationKey
impl PartialEq for CorrelationKey
Source§impl PartialOrd for CorrelationKey
impl PartialOrd for CorrelationKey
impl StructuralPartialEq for CorrelationKey
Auto Trait Implementations§
impl Freeze for CorrelationKey
impl RefUnwindSafe for CorrelationKey
impl Send for CorrelationKey
impl Sync for CorrelationKey
impl Unpin for CorrelationKey
impl UnsafeUnpin for CorrelationKey
impl UnwindSafe for CorrelationKey
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.