use std::time::SystemTime;
pub trait TimeSource {
fn current_time_nanos(&self) -> u64;
}
pub struct SystemTimeClockSource;
impl TimeSource for SystemTimeClockSource {
#[inline]
fn current_time_nanos(&self) -> u64 {
SystemTime::now()
.duration_since(SystemTime::UNIX_EPOCH)
.unwrap()
.as_nanos() as u64
}
}