pub enum Timing {
Immediate,
Deadline {
by_ms: u64,
},
Delayed {
after_ms: u64,
},
Window {
earliest_ms: u64,
latest_ms: u64,
},
Exact {
at_ms: u64,
},
}Expand description
Firing timing specification for transitions.
Based on classical Time Petri Net (TPN) semantics:
- Transition CANNOT fire before earliest time (lower bound)
- Transition MUST fire by deadline OR become disabled (upper bound)
All durations are in milliseconds.
Variants§
Immediate
Can fire as soon as enabled, no deadline. [0, inf)
Deadline
Can fire immediately, must fire by deadline. [0, by]
Delayed
Must wait, then can fire anytime. [after, inf)
Window
Can fire within [earliest, latest].
Exact
Fires at precisely the specified time. [at, at]
Implementations§
Trait Implementations§
impl Copy for Timing
impl Eq for Timing
impl StructuralPartialEq for Timing
Auto Trait Implementations§
impl Freeze for Timing
impl RefUnwindSafe for Timing
impl Send for Timing
impl Sync for Timing
impl Unpin for Timing
impl UnsafeUnpin for Timing
impl UnwindSafe for Timing
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