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§
- Mock
Clock - 测试时钟:可任意推时间,无 sleep、无真实等待。
- System
Clock - 生产时钟:系统时间。
Traits§
- Clock
- 时钟抽象。返回 Unix 秒。(
Debug约束让持有闸/账本状态的结构体可以直接 derive Debug。)
Type Aliases§
- Shared
Clock - 闸内共享的时钟句柄。