MCPcopy Create free account
hub / github.com/aws/clock-bound / ClockErrorBoundV3

Class ClockErrorBoundV3

clock-bound/src/shm.rs:586–663  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

584#[repr(C)]
585#[derive(Debug, Copy, Clone, PartialEq)]
586pub struct ClockErrorBoundV3 {
587 /// TSC counter value identifying this clock update.
588 ///
589 /// The TSC counter timestamp marking the time the clock and the clock error bound where
590 /// updated last. It represents the same instant as `as_of`.
591 as_of_tsc: u64,
592
593 /// Timestamp of this clock update.
594 ///
595 /// The nanosecond resolution timestamp marking the time the clock and the clock error bound
596 /// where updated last. This timestamp is derived from `as_of_tsc`.
597 as_of: TimeSpec,
598
599 /// Time after which this clock update is void.
600 ///
601 /// The nanosecond timestamp beyond which the bound on clock error should not be trusted. This
602 /// is a useful signal that the communication with the synchronization daemon is has failed,
603 /// for example.
604 void_after: TimeSpec,
605
606 /// Oscillator period estimate.
607 ///
608 /// The period of the oscillator, represented as a fractional part of a second.
609 period_frac: u64,
610
611 /// Oscillator period estimate error.
612 ///
613 /// The error on the estimate of the period of the oscillator, in ppb, represented as a
614 /// fractional part of a second.
615 period_err_frac: u64,
616
617 /// Clock Error Bound
618 ///
619 /// An absolute upper bound on the accuracy of the feed-forward synchronization clock with
620 /// regards to true time at the instant represented by `as_of` and `as_of_tsc`.
621 bound_nsec: i64,
622
623 /// Disruption marker.
624 ///
625 /// This value is incremented (by an unspecified delta) each time the clock has been disrupted.
626 /// This count value is specific to a particular VM/EC2 instance.
627 disruption_marker: u64,
628
629 /// Maximum drift rate in part-per-billion.
630 ///
631 /// Maximum drift rate of the clock between updates of the synchronization daemon. The value
632 /// stored in `bound_nsec` should increase by the following to account for the clock drift
633 /// since `bound_nsec` was computed:
634 /// `bound_nsec += max_drift_ppb * (now - as_of)`
635 max_drift_ppb: u32,
636
637 /// Clock status.
638 ///
639 /// The synchronization daemon status indicates whether the daemon is synchronized,
640 /// free-running, etc.
641 clock_status: ClockStatus,
642
643 /// Clock disruption support enabled flag.

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected