diff --git a/src/util.rs b/src/util.rs index 446217c..e4707e1 100644 --- a/src/util.rs +++ b/src/util.rs @@ -21,20 +21,22 @@ impl BaseTimer { self.last = value; } - /// Reset the "last" value without triggering change detection - pub fn reset_value(&mut self, value: T) { - self.last = value; - } - + /// Returns true if `preset` time has passed since the last value change pub fn timer(&self, now: time::Instant, preset: time::Duration) -> bool { self.change.map(|tt| now >= tt + preset).unwrap_or(true) } + /// Returns the time since the last value change pub fn timer_value(&self, now: time::Instant) -> time::Duration { self.change .map(|tt| now - tt) .unwrap_or(time::Duration::ZERO) } + + /// Reset the "last" value without triggering change detection + pub fn reset_value(&mut self, value: T) { + self.last = value; + } } pub struct TimerResult {