pub struct ScheduleParts<B: SimBackend> {
pub time: u64,
pub clocks: Vec<(B::Event, u64)>,
pub events: Vec<SimEvent<B>>,
pub periodic: Vec<(SimEvent<B>, u64)>,
pub high_events: Vec<B::Event>,
pub process_wakeups: Vec<(usize, u64)>,
pub finished: bool,
}Expand description
Scheduling state expressed with the event handles of one backend, so a caller can translate it to and from names.
Fields§
§time: u64§clocks: Vec<(B::Event, u64)>Periodic clocks and their periods.
events: Vec<SimEvent<B>>Pending events, including those of periodic clocks.
periodic: Vec<(SimEvent<B>, u64)>Pending events that a periodic clock re-schedules when they fire, with the number of identical such events.
high_events: Vec<B::Event>Events whose signal was high when edge detection last sampled it.
process_wakeups: Vec<(usize, u64)>Suspended processes and the time each resumes at.
finished: boolA process requested the end of the simulation.
Auto Trait Implementations§
impl<B> Freeze for ScheduleParts<B>
impl<B> RefUnwindSafe for ScheduleParts<B>where
Vec<(<B as SimBackend>::Event, u64)>: RefUnwindSafe,
Vec<SimEvent<B>>: RefUnwindSafe,
Vec<(SimEvent<B>, u64)>: RefUnwindSafe,
Vec<<B as SimBackend>::Event>: RefUnwindSafe,
impl<B> Send for ScheduleParts<B>
impl<B> Sync for ScheduleParts<B>
impl<B> Unpin for ScheduleParts<B>
impl<B> UnsafeUnpin for ScheduleParts<B>where
Vec<(<B as SimBackend>::Event, u64)>: UnsafeUnpin,
Vec<SimEvent<B>>: UnsafeUnpin,
Vec<(SimEvent<B>, u64)>: UnsafeUnpin,
Vec<<B as SimBackend>::Event>: UnsafeUnpin,
impl<B> UnwindSafe for ScheduleParts<B>where
Vec<(<B as SimBackend>::Event, u64)>: UnwindSafe,
Vec<SimEvent<B>>: UnwindSafe,
Vec<(SimEvent<B>, u64)>: UnwindSafe,
Vec<<B as SimBackend>::Event>: UnwindSafe,
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