HistoricalClock

Struct HistoricalClock 

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

A clock that replays historical time by walking through a specified interval.

The clock starts at the interval’s start time and advances in fixed time steps until reaching the end of the interval. Each call to cycle_time() advances the clock by one time step.

The instant component is adjusted so that the baseline instant represents the start of the historical interval, maintaining proper duration relationships.

Implementations§

Source§

impl HistoricalClock

Source

pub fn new(interval: Interval) -> Self

Create a new historical clock with a default 100μs time step

Source

pub fn with_time_step(interval: Interval, time_step: Duration) -> Self

Create a new historical clock with a custom time step

Source

pub fn is_exhausted(&self) -> bool

Check if the clock has exhausted the historical interval

Source

pub fn current_time(&self) -> OffsetDateTime

Get the current position within the interval

Source

pub fn interval(&self) -> &Interval

Get the interval being replayed

Source

pub fn time_step(&self) -> Duration

Get the time step duration

Source

pub fn reset(&mut self)

Reset the clock back to the start of the interval

Trait Implementations§

Source§

impl Clock for HistoricalClock

Source§

fn cycle_time(&mut self) -> CycleTime

Get the current cycle time containing both monotonic and wall clock times. 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> 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 = 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.