Skip to main content

SystemClock

Struct SystemClock 

Source
pub struct SystemClock { /* private fields */ }
Expand description

The default clock: system wall time and a monotonic origin aligned to the process-wide millisecond grid, so default instances share one local expiry grid.

Implementations§

Source§

impl SystemClock

Source

pub fn new() -> Self

System sources: SystemTime for wall time and the Instant elapsed since the first default clock of this process for monotonic time.

Source

pub fn with_sources( monotonic: impl Fn() -> Duration + Send + Sync + 'static, wall: impl Fn() -> i64 + Send + Sync + 'static, ) -> Self

The production alignment over caller-supplied sources.

monotonic reads elapsed time since one fixed instant shared by every clock built over it; this clock’s origin is the nearest whole millisecond of that reading at or before construction, so clocks built at different fractional times share one expiry grid. wall supplies epoch milliseconds. Controlled tests use this to run the default alignment over a virtual clock.

Trait Implementations§

Source§

impl Clock for SystemClock

Source§

fn wall_ms(&self) -> i64

Epoch milliseconds from the application wall clock.
Source§

fn elapsed(&self) -> Duration

Monotonic elapsed time since this clock’s origin, with native precision.
Source§

fn elapsed_ms(&self) -> i64

Whole-millisecond elapsed reading used by process-local storage. Read more
Source§

impl Clone for SystemClock

Source§

fn clone(&self) -> SystemClock

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for SystemClock

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Default for SystemClock

Source§

fn default() -> Self

Returns the “default value” for a type. Read more

Auto Trait Implementations§

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> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. 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> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

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

Source§

type Error = Infallible

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

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

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.