time_util

Struct Transform

Source
pub struct Transform<Reference, Output> {
    pub reference_offset: Instant<Reference>,
    pub synthetic_offset: Instant<Output>,
    pub rate_adjust_ppm: i32,
    pub error_bound_at_offset: u64,
    pub error_bound_growth_ppm: u32,
}
Expand description

A transformation from monotonic time to synthetic time, including an error bound on this synthetic time.

Fields§

§reference_offset: Instant<Reference>

An offset on the monotonic timeline in nanoseconds.

§synthetic_offset: Instant<Output>

An offset on the synthetic timeline in nanoseconds.

§rate_adjust_ppm: i32

An adjustment to the standard 1 monotonic tick:1 synthetic tick rate in parts per million. Positive values indicate the synthetic clock is moving faster than the monotonic clock.

§error_bound_at_offset: u64

The error bound on synthetic clock at monotonic = monotonic_offset.

§error_bound_growth_ppm: u32

The growth in error bound per monotonic tick in parts per million.

Implementations§

Source§

impl<Reference: Timeline + Copy, Output: Timeline + Copy> Transform<Reference, Output>

Source

pub fn synthetic(&self, reference: Instant<Reference>) -> Instant<Output>

Returns the synthetic time at the supplied monotonic time.

Source

pub fn error_bound(&self, reference: Instant<Reference>) -> u64

Returns the error bound at the supplied monotonic time.

Source

pub fn difference( &self, other: &Self, reference: Instant<Reference>, ) -> Duration<Output>

Returns the synthetic time on this Transform minus the synthetic time on other, calculated at the supplied monotonic time.

Source

pub fn jump_to( &self, reference: Instant<Reference>, ) -> ClockUpdate<Reference, Output>

Returns a ClockUpdate that will set a Clock onto this Transform using data from the supplied monotonic time.

Trait Implementations§

Source§

impl<Reference: Clone, Output: Clone> Clone for Transform<Reference, Output>

Source§

fn clone(&self) -> Transform<Reference, Output>

Returns a copy of the value. Read more
1.0.0 · Source§

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

Performs copy-assignment from source. Read more
Source§

impl<Reference: Debug, Output: Debug> Debug for Transform<Reference, Output>

Source§

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

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

impl<Reference: Default, Output: Default> Default for Transform<Reference, Output>

Source§

fn default() -> Transform<Reference, Output>

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

impl<Reference: Timeline, Output: Timeline> From<&Clock<Reference, Output>> for Transform<Reference, Output>

Source§

fn from(clock: &Clock<Reference, Output>) -> Self

Converts to this type from the input type.
Source§

impl<Reference: PartialEq, Output: PartialEq> PartialEq for Transform<Reference, Output>

Source§

fn eq(&self, other: &Transform<Reference, Output>) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl<Reference: Eq, Output: Eq> Eq for Transform<Reference, Output>

Source§

impl<Reference, Output> StructuralPartialEq for Transform<Reference, Output>

Auto Trait Implementations§

§

impl<Reference, Output> Freeze for Transform<Reference, Output>

§

impl<Reference, Output> RefUnwindSafe for Transform<Reference, Output>
where Reference: RefUnwindSafe, Output: RefUnwindSafe,

§

impl<Reference, Output> Send for Transform<Reference, Output>
where Reference: Send, Output: Send,

§

impl<Reference, Output> Sync for Transform<Reference, Output>
where Reference: Sync, Output: Sync,

§

impl<Reference, Output> Unpin for Transform<Reference, Output>
where Reference: Unpin, Output: Unpin,

§

impl<Reference, Output> UnwindSafe for Transform<Reference, Output>
where Reference: UnwindSafe, Output: UnwindSafe,

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, dst: *mut T)

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