aboutsummaryrefslogtreecommitdiff
path: root/src/runtime/time/source.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/runtime/time/source.rs')
-rw-r--r--src/runtime/time/source.rs13
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())
}
}