Trait BlockRuntime

Source
pub trait BlockRuntime: Send + Sync {
    // Required methods
    fn is_alive(&self) -> bool;
    fn sleep_for(&self, duration: Duration) -> Result<(), BlockError>;
    fn sleep_until(&self, instant: Instant) -> Result<(), BlockError>;
    fn wait_for(&self, port: &dyn Port) -> Result<(), BlockError>;
    fn yield_now(&self) -> Result<(), BlockError>;
    fn random_duration(&self, range: Range<Duration>) -> Duration;
}

Required Methods§

Source

fn is_alive(&self) -> bool

Source

fn sleep_for(&self, duration: Duration) -> Result<(), BlockError>

Source

fn sleep_until(&self, instant: Instant) -> Result<(), BlockError>

Source

fn wait_for(&self, port: &dyn Port) -> Result<(), BlockError>

Wait for a port to be connected.

Source

fn yield_now(&self) -> Result<(), BlockError>

Source

fn random_duration(&self, range: Range<Duration>) -> Duration

Implementations on Foreign Types§

Source§

impl<T: Transport> BlockRuntime for Arc<StdRuntime<T>>

Source§

fn is_alive(&self) -> bool

Source§

fn sleep_for(&self, duration: Duration) -> BlockResult

Source§

fn sleep_until(&self, _instant: Instant) -> BlockResult

Source§

fn wait_for(&self, port: &dyn Port) -> BlockResult

Source§

fn yield_now(&self) -> Result<(), BlockError>

Source§

fn random_duration(&self, range: Range<Duration>) -> Duration

Implementors§