1 个稳定版本
1.0.0 | 2024年4月9日 |
---|
#226 在 日期和时间
每月 40 次下载
用于 3 包
68KB
879 行
ClockBound 共享内存
概述
该包实现了在共享内存段上共享 ClockErrorBound 数据和时钟状态的底层 IPC 功能。它提供了一个读取器和写入器实现,以方便对共享内存段进行操作。
时钟状态
时钟状态直接从 chronyd
追踪数据中检索。
未知
:时钟的状态是未知的。同步
:同步守护进程保持时钟的准确性。自由运行
:时钟是自由运行的,并且不会被同步守护进程更新。
有限状态机 (FSM)
FSM 推动存储在 ClockBound 共享内存段中的时钟状态字的更改。FSM 的每次转换都是由 chrony
触发的。请参阅以下状态图以了解共享内存中的时钟状态
所有低级 ClockBound API 返回的错误
SyscallError(Errno, &'static CStr)
:系统调用失败。- 变体包括包含错误详细信息的 Errno 结构
- 关于错误系统调用来源的指示。
SegmentNotInitialized
:共享内存段尚未初始化。SegmentMalformed
:共享内存段已初始化但格式不正确。CausalityBreach
:比较时间戳时发生因果关系检查失败。
依赖项
~2–12MB
~80K SLoC