From fe57ea335405a7b3b1f76ac75fd7523ff67df8c4 Mon Sep 17 00:00:00 2001 From: Jason Volk Date: Mon, 22 Dec 2025 00:50:49 +0000 Subject: [PATCH] Add functor for timepoint expiration to utils. Signed-off-by: Jason Volk --- src/core/utils/mod.rs | 1 + src/core/utils/time.rs | 8 ++++++++ 2 files changed, 9 insertions(+) diff --git a/src/core/utils/mod.rs b/src/core/utils/mod.rs index f2846118..a6927380 100644 --- a/src/core/utils/mod.rs +++ b/src/core/utils/mod.rs @@ -39,6 +39,7 @@ pub use self::{ time::{ exponential_backoff::{continue_exponential_backoff, continue_exponential_backoff_secs}, now_millis as millis_since_unix_epoch, timepoint_ago, timepoint_from_now, + timepoint_has_passed, }, }; diff --git a/src/core/utils/time.rs b/src/core/utils/time.rs index 95194e14..099513dc 100644 --- a/src/core/utils/time.rs +++ b/src/core/utils/time.rs @@ -61,6 +61,14 @@ pub fn parse_duration(duration: &str) -> Result { .map_err(|error| err!("'{duration:?}' is not a valid duration string: {error:?}")) } +#[inline] +#[must_use] +pub fn timepoint_has_passed(timepoint: SystemTime) -> bool { + SystemTime::now() + .duration_since(timepoint) + .is_ok() +} + #[must_use] pub fn rfc2822_from_seconds(epoch: i64) -> String { use chrono::{DateTime, Utc};