[−][src]Struct boomerang::Scheduler
Fields
stop_requested: bool
Indicator that the execution should stop after the completion of the current logical time.
This can be set to true by calling the stop()
function in a reaction.
Methods
impl<V> Scheduler<V> where
V: EventValue,
[src]
V: EventValue,
pub fn new() -> Self
[src]
pub fn print_event_queue(&self)
[src]
pub fn print_reaction_queue(&self)
[src]
pub fn next(&mut self) -> bool
[src]
Wait until physical time matches or exceeds the time of the least tag on the event queue. If there is no event in the queue, return 0. After this wait, advance current_time to match this tag. Then pop the next event(s) from the event queue that all have the same tag, and extract from those events the reactions that are to be invoked at this logical time. Sort those reactions by index (determined by a topological sort) and then execute the reactions in order. Each reaction may produce outputs, which places additional reactions into the index-ordered priority queue. All of those will also be executed in order of indices. If the -timeout option has been given on the command line, then return 0 when the logical time duration matches the specified duration. Also return 0 if there are no more events in the queue and the keepalive command-line option has not been given. Otherwise, return 1.
Trait Implementations
impl<V: Debug> Debug for Scheduler<V> where
V: EventValue,
[src]
V: EventValue,
impl<V> Sched for Scheduler<V> where
V: EventValue,
[src]
V: EventValue,
type Value = V
EventValue type
fn get_elapsed_logical_time(&self) -> Duration
[src]
fn get_logical_time(&self) -> Instant
[src]
fn get_physical_time(&self) -> Instant
[src]
fn stop(&mut self)
[src]
fn schedule(
&mut self,
trigger: Rc<Trigger<Self>>,
extra_delay: Duration,
value: Option<Self::Value>
)
[src]
&mut self,
trigger: Rc<Trigger<Self>>,
extra_delay: Duration,
value: Option<Self::Value>
)
fn print_snapshot(&self)
[src]
Auto Trait Implementations
impl<V> !RefUnwindSafe for Scheduler<V>
impl<V> !Send for Scheduler<V>
impl<V> !Sync for Scheduler<V>
impl<V> Unpin for Scheduler<V>
impl<V> !UnwindSafe for Scheduler<V>
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,