Skip to main content

Module clock

Module clock 

Source
Expand description

可注入时钟(Clock)。

闸的过期/生效判定依赖「现在几点」。绝不 sleep 测试——测试用 MockClock 推时间,生产用 SystemClock。W-06 在此之上落过期语义与边界(恰在 valid_until 按过期处理),trait 本体因 Gate::decide 需要取当前时间而提前到 W-03 落地。

线程约定:SharedClock = Arc<dyn Clock + Send + Sync>,闸整体可跨线程 (P1 MCP server 大概率要多线程,这里不留 Rc 债)。

Structs§

MockClock
测试时钟:可任意推时间,无 sleep、无真实等待。
SystemClock
生产时钟:系统时间。

Traits§

Clock
时钟抽象。返回 Unix 秒。(Debug 约束让持有闸/账本状态的结构体可以直接 derive Debug。)

Type Aliases§

SharedClock
闸内共享的时钟句柄。