pub struct PrecompiledNetExecutor<'a, E: EventStore> { /* private fields */ }Expand description
High-performance precompiled flat-array Petri net executor.
Uses ring-buffer token storage, opcode-based consume operations,
priority-partitioned ready queues, and two-level summary bitmaps
for sparse iteration. Generic over E: EventStore for zero-cost
noop event recording.
Implementations§
Source§impl<'a, E: EventStore> PrecompiledNetExecutor<'a, E>
impl<'a, E: EventStore> PrecompiledNetExecutor<'a, E>
Sourcepub fn builder(
program: &'a PrecompiledNet<'a>,
initial_marking: Marking,
) -> PrecompiledExecutorBuilder<'a, E>
pub fn builder( program: &'a PrecompiledNet<'a>, initial_marking: Marking, ) -> PrecompiledExecutorBuilder<'a, E>
Creates a builder for a PrecompiledNetExecutor.
Sourcepub fn new(program: &'a PrecompiledNet<'a>, initial_marking: Marking) -> Self
pub fn new(program: &'a PrecompiledNet<'a>, initial_marking: Marking) -> Self
Creates a new executor with default options.
Sourcepub fn run_sync(&mut self) -> Marking
pub fn run_sync(&mut self) -> Marking
Runs the executor synchronously until completion. Returns the final marking (materialized from ring buffers).
Sourcepub fn event_store(&self) -> &E
pub fn event_store(&self) -> &E
Returns a reference to the event store.
Sourcepub fn is_quiescent(&self) -> bool
pub fn is_quiescent(&self) -> bool
Returns true if the executor is quiescent.
Auto Trait Implementations§
impl<'a, E> Freeze for PrecompiledNetExecutor<'a, E>where
E: Freeze,
impl<'a, E> !RefUnwindSafe for PrecompiledNetExecutor<'a, E>
impl<'a, E> Send for PrecompiledNetExecutor<'a, E>
impl<'a, E> Sync for PrecompiledNetExecutor<'a, E>where
E: Sync,
impl<'a, E> Unpin for PrecompiledNetExecutor<'a, E>where
E: Unpin,
impl<'a, E> UnsafeUnpin for PrecompiledNetExecutor<'a, E>where
E: UnsafeUnpin,
impl<'a, E> !UnwindSafe for PrecompiledNetExecutor<'a, E>
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
Mutably borrows from an owned value. Read more