use std::time::{SystemTime, UNIX_EPOCH};
pub trait RuntimeClock: Send + Sync {
fn now_ms(&self) -> u64;
}
#[derive(Debug, Default)]
pub struct SystemRuntimeClock;
impl RuntimeClock for SystemRuntimeClock {
fn now_ms(&self) -> u64 {
SystemTime::now()
.duration_since(UNIX_EPOCH)
.unwrap_or_default()
.as_millis()
.try_into()
.unwrap_or(u64::MAX)
}
}