diff options
Diffstat (limited to 'src/runtime/time/source.rs')
-rw-r--r-- | src/runtime/time/source.rs | 13 |
1 files changed, 5 insertions, 8 deletions
diff --git a/src/runtime/time/source.rs b/src/runtime/time/source.rs index e6788ed..4647bc4 100644 --- a/src/runtime/time/source.rs +++ b/src/runtime/time/source.rs @@ -1,19 +1,16 @@ +use super::MAX_SAFE_MILLIS_DURATION; use crate::time::{Clock, Duration, Instant}; -use std::convert::TryInto; - /// A structure which handles conversion from Instants to u64 timestamps. #[derive(Debug)] pub(crate) struct TimeSource { - pub(crate) clock: Clock, start_time: Instant, } impl TimeSource { - pub(crate) fn new(clock: Clock) -> Self { + pub(crate) fn new(clock: &Clock) -> Self { Self { start_time: clock.now(), - clock, } } @@ -29,14 +26,14 @@ impl TimeSource { .unwrap_or_else(|| Duration::from_secs(0)); let ms = dur.as_millis(); - ms.try_into().unwrap_or(u64::MAX) + ms.try_into().unwrap_or(MAX_SAFE_MILLIS_DURATION) } pub(crate) fn tick_to_duration(&self, t: u64) -> Duration { Duration::from_millis(t) } - pub(crate) fn now(&self) -> u64 { - self.instant_to_tick(self.clock.now()) + pub(crate) fn now(&self, clock: &Clock) -> u64 { + self.instant_to_tick(clock.now()) } } |