Line | Count | Source |
1 | use chrono::{DateTime, Utc}; | |
2 | ||
3 | /// Clock abstraction for deterministic tests. | |
4 | pub trait Clock { | |
5 | fn now(&self) -> DateTime<Utc>; | |
6 | } | |
7 | ||
8 | /// System clock backed by `Utc::now()`. | |
9 | #[derive(Debug, Clone, Copy, Default)] | |
10 | pub struct SystemClock; | |
11 | ||
12 | impl Clock for SystemClock { | |
13 | 724 | fn now(&self) -> DateTime<Utc> { |
14 | 724 | Utc::now() |
15 | 724 | } |
16 | } |