[][src]Struct boomerang::Scheduler

pub struct Scheduler<V> where
    V: EventValue
{ pub stop_requested: bool, // some fields omitted }

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]

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]

impl<V> Sched for Scheduler<V> where
    V: EventValue
[src]

type Value = V

EventValue type

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]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.