pub enum NetEvent {
Show 13 variants
ExecutionStarted {
net_name: Arc<str>,
timestamp: u64,
},
ExecutionCompleted {
net_name: Arc<str>,
timestamp: u64,
},
TransitionEnabled {
transition_name: Arc<str>,
timestamp: u64,
},
TransitionClockRestarted {
transition_name: Arc<str>,
timestamp: u64,
},
TransitionStarted {
transition_name: Arc<str>,
timestamp: u64,
},
TransitionCompleted {
transition_name: Arc<str>,
timestamp: u64,
},
TransitionFailed {
transition_name: Arc<str>,
error: String,
timestamp: u64,
},
TransitionTimedOut {
transition_name: Arc<str>,
timestamp: u64,
},
ActionTimedOut {
transition_name: Arc<str>,
timeout_ms: u64,
timestamp: u64,
},
#[non_exhaustive] TokenAdded {
place_name: Arc<str>,
timestamp: u64,
token: Option<Arc<dyn TokenPayload>>,
},
#[non_exhaustive] TokenRemoved {
place_name: Arc<str>,
timestamp: u64,
token: Option<Arc<dyn TokenPayload>>,
},
LogMessage {
transition_name: Arc<str>,
level: String,
message: String,
timestamp: u64,
},
MarkingSnapshot {
marking: HashMap<Arc<str>, usize>,
timestamp: u64,
},
}Expand description
All observable events during Petri net execution.
13 event types as a discriminated union matching the TypeScript/Java implementations.
Variants§
ExecutionStarted
Net execution started.
ExecutionCompleted
Net execution completed (no more enabled transitions, no in-flight actions).
TransitionEnabled
Transition became enabled (all input/inhibitor/read conditions satisfied).
TransitionClockRestarted
Transition’s enabling clock restarted (input place tokens changed while enabled).
TransitionStarted
Transition started firing (tokens consumed, action dispatched).
TransitionCompleted
Transition completed successfully (outputs produced).
TransitionFailed
Transition action failed with error.
TransitionTimedOut
Transition exceeded its timing deadline and was force-disabled.
ActionTimedOut
Transition action exceeded its action timeout.
#[non_exhaustive]TokenAdded
Token added to a place.
The optional token payload is populated only by event stores that opt in
via EventStore::CAPTURES_TOKENS.
Production stores (NoopEventStore, InMemoryEventStore) leave it None
so the capture path is monomorphized out — preserving the zero-cost event
recording invariant.
Marked #[non_exhaustive] so future fields (e.g. token identity,
source-transition attribution) can be added without a breaking change;
downstream matches must use { .., .. }.
Fields
This variant is marked as non-exhaustive
token: Option<Arc<dyn TokenPayload>>#[non_exhaustive]TokenRemoved
Token removed from a place.
See TokenAdded for payload semantics and for the
#[non_exhaustive] contract.
Fields
This variant is marked as non-exhaustive
token: Option<Arc<dyn TokenPayload>>LogMessage
Log message emitted by a transition action.
MarkingSnapshot
Snapshot of the current marking (token counts per place).
Implementations§
Source§impl NetEvent
impl NetEvent
Sourcepub fn token_added(place_name: Arc<str>, timestamp: u64) -> Self
pub fn token_added(place_name: Arc<str>, timestamp: u64) -> Self
Constructs a TokenAdded event without a payload —
the default for production event stores.
Sourcepub fn token_added_with(
place_name: Arc<str>,
timestamp: u64,
token: Arc<dyn TokenPayload>,
) -> Self
pub fn token_added_with( place_name: Arc<str>, timestamp: u64, token: Arc<dyn TokenPayload>, ) -> Self
Constructs a TokenAdded event carrying a token
payload — used by debug-aware event stores that set
EventStore::CAPTURES_TOKENS = true.
Sourcepub fn token_removed(place_name: Arc<str>, timestamp: u64) -> Self
pub fn token_removed(place_name: Arc<str>, timestamp: u64) -> Self
Constructs a TokenRemoved event without a payload.
Sourcepub fn token_removed_with(
place_name: Arc<str>,
timestamp: u64,
token: Arc<dyn TokenPayload>,
) -> Self
pub fn token_removed_with( place_name: Arc<str>, timestamp: u64, token: Arc<dyn TokenPayload>, ) -> Self
Constructs a TokenRemoved event carrying a token
payload. See token_added_with.
Sourcepub fn place_name(&self) -> Option<&str>
pub fn place_name(&self) -> Option<&str>
Returns the place name if this event is place-related.
Sourcepub fn instance_prefix(&self) -> Option<&str>
pub fn instance_prefix(&self) -> Option<&str>
Returns the derived instance prefix per MOD-041 for this event,
computed from whichever of Self::transition_name or
Self::place_name is populated. Returns None for events that
don’t carry a node name (e.g. Self::ExecutionStarted,
Self::MarkingSnapshot) or when the carried name is flat (no /).
Sourcepub fn transition_name(&self) -> Option<&str>
pub fn transition_name(&self) -> Option<&str>
Returns the transition name if this event is transition-related.
Sourcepub fn is_failure(&self) -> bool
pub fn is_failure(&self) -> bool
Returns true if this is a failure event.
Sourcepub fn has_error_signal(&self) -> bool
pub fn has_error_signal(&self) -> bool
Returns true if this event carries any error signal — superset of
is_failure that additionally treats a
LogMessage at level ERROR (case-insensitive)
as an error. Used by the v2 archive writer to pre-compute the
hasErrors flag so listing/sampling tools can filter archives without
scanning their event bodies. (libpetri 1.7.0+)