Skip to main content

Time

Struct Time 

Source
pub struct Time<'a> { /* private fields */ }
Expand description

Time utilities accessor for RuntimeContext

Durations are plain core::time::Duration; instants are u64 nanoseconds from an arbitrary monotonic epoch (only differences between two readings are meaningful).

Implementations§

Source§

impl Time<'_>

Source

pub fn now(&self) -> u64

Monotonic clock reading in nanoseconds from an arbitrary epoch.

Never decreases; saturates at u64::MAX rather than wrapping.

Source

pub fn unix_time(&self) -> Option<(u64, u32)>

Wall-clock time as (seconds, nanoseconds) since the Unix epoch, if the runtime has a real-time clock (None on e.g. a bare MCU without an RTC anchor).

Source

pub fn sleep(&self, duration: Duration) -> BoxFuture

Completes after at least duration has elapsed.

The future is boxed (it crosses the dyn RuntimeOps boundary), so each call costs one small heap allocation. That is fine for periodic loops and timeouts; in a no_std hot path that sleeps every iteration, await the adapter’s native timer (e.g. embassy_time::Timer) directly instead.

Source

pub fn sleep_millis(&self, ms: u64) -> BoxFuture

Convenience: sleep for ms milliseconds.

Source

pub fn sleep_secs(&self, secs: u64) -> BoxFuture

Convenience: sleep for secs seconds.

Auto Trait Implementations§

§

impl<'a> !RefUnwindSafe for Time<'a>

§

impl<'a> !UnwindSafe for Time<'a>

§

impl<'a> Freeze for Time<'a>

§

impl<'a> Send for Time<'a>

§

impl<'a> Sync for Time<'a>

§

impl<'a> Unpin for Time<'a>

§

impl<'a> UnsafeUnpin for Time<'a>

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = !

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, !>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

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

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.