pub struct BitmapNetExecutor<E: EventStore> { /* private fields */ }Expand description
Bitmap-based executor for Coloured Time Petri Nets.
Generic over E: EventStore for zero-cost noop event recording.
The sync path (run_sync) executes inline without any async runtime.
Implementations§
Source§impl<E: EventStore> BitmapNetExecutor<E>
impl<E: EventStore> BitmapNetExecutor<E>
Sourcepub fn new(
net: &PetriNet,
initial_tokens: Marking,
options: ExecutorOptions,
) -> Self
pub fn new( net: &PetriNet, initial_tokens: Marking, options: ExecutorOptions, ) -> Self
Creates a new executor for the given net with initial tokens.
Sourcepub fn run_sync(&mut self) -> &Marking
pub fn run_sync(&mut self) -> &Marking
Runs the executor synchronously until completion.
All transition actions must be sync (is_sync() returns true). Returns the final marking.
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 (no enabled or in-flight transitions).
Auto Trait Implementations§
impl<E> Freeze for BitmapNetExecutor<E>where
E: Freeze,
impl<E> !RefUnwindSafe for BitmapNetExecutor<E>
impl<E> Send for BitmapNetExecutor<E>
impl<E> Sync for BitmapNetExecutor<E>where
E: Sync,
impl<E> Unpin for BitmapNetExecutor<E>where
E: Unpin,
impl<E> UnsafeUnpin for BitmapNetExecutor<E>where
E: UnsafeUnpin,
impl<E> !UnwindSafe for BitmapNetExecutor<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