Trait protoflow_core::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>

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§