pub trait Timer: Sized { /// Possible result error. type Error: Debug; /// Reset the timer. fn reset(&mut self); /// Set the timer to notify in the future. async fn at(&self, millis: u64) -> Result<(), Self::Error>; }