[][src]Struct netidx_protocols::archive::MonotonicTimestamper

pub struct MonotonicTimestamper { /* fields omitted */ }

The goal of this structure are as follows in order of importance

  1. Monotonic. subsuquent calls to timestamp() will always be greater than previous calls.
  2. Steady. Clock skew should be minimized where possible.
  3. Accurate. Time stamps should be close to the actual time
  4. Precise. Small differences in time should be representable.
  5. Compact. Time stamps should use as little space as possible.

Unfortunatly because system provided time functions are often awful some careful and elaborate logic is required in order to meet the above goals.

Implementations

impl MonotonicTimestamper[src]

pub fn new() -> Self[src]

pub fn timestamp(&mut self) -> Timestamp[src]

Trait Implementations

impl Clone for MonotonicTimestamper[src]

impl Copy for MonotonicTimestamper[src]

impl Debug for MonotonicTimestamper[src]

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> Pointable for T

type Init = T

The type for initializers.

impl<T> Same<T> for T

type Output = T

Should always be Self

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.

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