pub enum SysTime {
    Timeless,
    Arbitrary {
        ms: u64,
    },
    Real {
        local: OffsetDateTime,
    },
}
Expand description

The time as determined by an implementation of System.

Variants§

§

Timeless

No concept of time. This should only be produced as a last resort, as it disables all time-based features.

§

Arbitrary

Fields

§ms: u64

A time measurement from an arbitrary (but consistent during runtime) starting point, which must be measured in milliseconds. For instance, this could be used to measure uptime on systems that do not support reading real time.

§

Real

Fields

A real-world time measurement. This is always preferable over SysTime::Arbitrary. The value is assumed to already be transformed to local time.

Implementations§

source§

impl SysTime

source

pub fn to_arbitrary_ms<C: CustomTypes<S>, S: System<C>>( &self ) -> Result<u64, ErrorCause<C, S>>

Attempt to convert this time into milliseconds after some arbitrary starting point.

source

pub fn to_real_local<C: CustomTypes<S>, S: System<C>>( &self ) -> Result<OffsetDateTime, ErrorCause<C, S>>

Attempt to convert this time into a real world time in the local timezone.

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> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
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

§

type Output = T

Should always be Self
source§

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

§

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>,

§

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.
§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

§

fn vzip(self) -> V

§

impl<T> WithSubscriber for T

§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a [WithDispatch] wrapper. Read more