Crates.io | clock-bound-shm |
lib.rs | clock-bound-shm |
version | 1.0.0 |
source | src |
created_at | 2024-04-09 20:12:25.074212 |
updated_at | 2024-04-09 20:12:25.074212 |
description | A library used to interact with shared memory in ClockBound. |
homepage | |
repository | https://github.com/aws/clock-bound |
max_upload_size | |
id | 1202814 |
size | 79,186 |
This crate implements the low-level IPC functionality to share ClockErrorBound data and clock status over a shared memory segment. It provides a reader and writer implementation to facilitate operating on the shared memory segment.
Clock status are retrieved directly from chronyd
tracking data.
Unknown
: the status of the clock is unknown.Synchronized
: the clock is kept accurate by the synchronization daemon.FreeRunning
: the clock is free running and not updated by the synchronization daemon.FSM drives a change in the clock status word stored in the ClockBound shared memory segment. Each transition in the FSM is triggered by chrony
. See following state diagram for clock status in shared memory:
SyscallError(Errno, &'static CStr)
: a system call failed.
SegmentNotInitialized
: the shared memory segment is not initialized.SegmentMalformed
: the shared memory segment is initialized but malformed.CausalityBreach
: failed causality check when comparing timestamps.