use std::fmt::Debug;
use std::sync::Arc;
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct TimerId(u64);
impl TimerId {
pub(crate) fn new(id: u64) -> Self {
Self(id)
}
}
#[derive(Debug, Clone, Copy, PartialEq, Eq)]
pub enum TimerMode {
OneShot,
Interval,
}
pub type TimerCallback = Arc<dyn Fn(TimerId) + Send + Sync>;