#共享内存 #ntp #ec2 #aws #有限状态机 #状态机 #读写器

clock-bound-shm

用于与 ClockBound 中的共享内存交互的库

1 个稳定版本

1.0.0 2024年4月9日

#226日期和时间

每月 40 次下载
用于 3 包

Apache-2.0

68KB
879

ClockBound 共享内存

概述

该包实现了在共享内存段上共享 ClockErrorBound 数据和时钟状态的底层 IPC 功能。它提供了一个读取器和写入器实现,以方便对共享内存段进行操作。

时钟状态

时钟状态直接从 chronyd 追踪数据中检索。

  • 未知:时钟的状态是未知的。
  • 同步:同步守护进程保持时钟的准确性。
  • 自由运行:时钟是自由运行的,并且不会被同步守护进程更新。

有限状态机 (FSM)

FSM 推动存储在 ClockBound 共享内存段中的时钟状态字的更改。FSM 的每次转换都是由 chrony 触发的。请参阅以下状态图以了解共享内存中的时钟状态

State Diagram for ClockStatus in SHM

所有低级 ClockBound API 返回的错误

  • SyscallError(Errno, &'static CStr):系统调用失败。
    • 变体包括包含错误详细信息的 Errno 结构
    • 关于错误系统调用来源的指示。
  • SegmentNotInitialized:共享内存段尚未初始化。
  • SegmentMalformed:共享内存段已初始化但格式不正确。
  • CausalityBreach:比较时间戳时发生因果关系检查失败。

依赖项

~2–12MB
~80K SLoC