pub struct ClockTransformation<Reference = MonotonicTimeline, Output = SyntheticTimeline> {
pub reference_offset: Instant<Reference>,
pub synthetic_offset: Instant<Output>,
pub rate: zx_clock_rate_t,
}
Expand description
A one-dimensional affine transformation that maps points from the reference timeline to the clock timeline. See clock transformations.
Fields§
§reference_offset: Instant<Reference>
The offset on the reference timeline, measured in reference clock ticks.
synthetic_offset: Instant<Output>
The offset on the clock timeline, measured in clock ticks (typically normalized to nanoseconds).
rate: zx_clock_rate_t
The ratio of the reference to clock rate.
Implementations§
Source§impl<Reference: Timeline + Copy, Output: Timeline + Copy> ClockTransformation<Reference, Output>
Clock
transformations
can be applied to convert a time from a reference time to a synthetic time.
impl<Reference: Timeline + Copy, Output: Timeline + Copy> ClockTransformation<Reference, Output>
Clock transformations can be applied to convert a time from a reference time to a synthetic time.
The inverse transformation can be applied to convert a synthetic time back to the reference time.
Sourcepub fn apply(&self, time: Instant<Reference>) -> Instant<Output>
pub fn apply(&self, time: Instant<Reference>) -> Instant<Output>
Apply the transformation to convert a time from the reference timeline to the output timeline.
§Panics
If the reference clock rate is zero, this function will panic.
Sourcepub fn apply_inverse(&self, time: Instant<Output>) -> Instant<Reference>
pub fn apply_inverse(&self, time: Instant<Output>) -> Instant<Reference>
Apply the transformation to convert a time from the output timeline to the reference timeline.
§Panics
If the output clock rate is zero, this function will panic.
Trait Implementations§
Source§impl<Reference: Clone, Output: Clone> Clone for ClockTransformation<Reference, Output>
impl<Reference: Clone, Output: Clone> Clone for ClockTransformation<Reference, Output>
Source§fn clone(&self) -> ClockTransformation<Reference, Output>
fn clone(&self) -> ClockTransformation<Reference, Output>
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moreSource§impl<Reference: Timeline, Output: Timeline> From<zx_clock_transformation_t> for ClockTransformation<Reference, Output>
impl<Reference: Timeline, Output: Timeline> From<zx_clock_transformation_t> for ClockTransformation<Reference, Output>
Source§fn from(ct: zx_clock_transformation_t) -> Self
fn from(ct: zx_clock_transformation_t) -> Self
Source§impl<Reference: PartialEq, Output: PartialEq> PartialEq for ClockTransformation<Reference, Output>
impl<Reference: PartialEq, Output: PartialEq> PartialEq for ClockTransformation<Reference, Output>
Source§fn eq(&self, other: &ClockTransformation<Reference, Output>) -> bool
fn eq(&self, other: &ClockTransformation<Reference, Output>) -> bool
self
and other
values to be equal, and is used by ==
.