Skip to main content

Module time

Module time 

Source
Expand description

Compact monotonic time utilities.

Uses a process-local monotonic clock for timestamps that are smaller than std::time::Instant (8 bytes vs 16 bytes for Option).

All internal expiry values are stored as monotonic milliseconds since process start. Use monotonic_to_unix_ms to convert to wall-clock Unix timestamps for commands like EXPIRETIME and PEXPIRETIME.

Constants§

NO_EXPIRY
Sentinel value meaning “no expiry”.

Functions§

expiry_from_duration
Converts a Duration to an absolute expiry timestamp.
is_expired
Returns true if the given expiry timestamp has passed.
monotonic_to_unix_ms
Converts a monotonic expiry timestamp (ms since process start) to a Unix epoch timestamp in milliseconds.
now_ms
Returns current monotonic time in milliseconds since process start.
now_secs
Returns current monotonic time in seconds since process start, as u32.
remaining_ms
Returns remaining TTL in milliseconds, or None if no expiry.
remaining_secs
Returns remaining TTL in seconds, or None if no expiry.
unix_ms_to_monotonic_ms
Converts a Unix epoch timestamp in milliseconds to a monotonic expiry value suitable for storage in Entry::expires_at_ms.