Skip to main content

Host

Trait Host 

Source
pub trait Host {
    // Required methods
    fn now(&mut self) -> Result<Instant>;
    fn resolution(&mut self) -> Result<Duration>;
    fn subscribe_instant(&mut self, when: Instant) -> Result<Resource<Pollable>>;
    fn subscribe_duration(
        &mut self,
        when: Duration,
    ) -> Result<Resource<Pollable>>;
}

Required Methods§

Source

fn now(&mut self) -> Result<Instant>

Read the current value of the clock.

The clock is monotonic, therefore calling this function repeatedly will produce a sequence of non-decreasing values.

For completeness, this function traps if it’s not possible to represent the value of the clock in an instant. Consequently, implementations should ensure that the starting time is low enough to avoid the possibility of overflow in practice.

Source

fn resolution(&mut self) -> Result<Duration>

Query the resolution of the clock. Returns the duration of time corresponding to a clock tick.

Source

fn subscribe_instant(&mut self, when: Instant) -> Result<Resource<Pollable>>

Create a pollable which will resolve once the specified instant has occurred.

Source

fn subscribe_duration(&mut self, when: Duration) -> Result<Resource<Pollable>>

Create a pollable that will resolve after the specified duration has elapsed from the time this function is invoked.

Dyn Compatibility§

This trait is dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementations on Foreign Types§

Source§

impl<_T: Host + ?Sized> Host for &mut _T

Source§

fn now(&mut self) -> Result<Instant>

Read the current value of the clock.

The clock is monotonic, therefore calling this function repeatedly will produce a sequence of non-decreasing values.

For completeness, this function traps if it’s not possible to represent the value of the clock in an instant. Consequently, implementations should ensure that the starting time is low enough to avoid the possibility of overflow in practice.

Source§

fn resolution(&mut self) -> Result<Duration>

Query the resolution of the clock. Returns the duration of time corresponding to a clock tick.

Source§

fn subscribe_instant(&mut self, when: Instant) -> Result<Resource<Pollable>>

Create a pollable which will resolve once the specified instant has occurred.

Source§

fn subscribe_duration(&mut self, when: Duration) -> Result<Resource<Pollable>>

Create a pollable that will resolve after the specified duration has elapsed from the time this function is invoked.

Implementors§