pub struct SystemClock;Expand description
Production wall-clock that reads SystemTime::now().
On system time error, returns 0 (fail-closed): a timestamp of 0 is
before any real window_start, so existing windows will not expire and
rate limiting continues to be enforced with existing counters. New windows
started while the clock is broken will have window_start = 0; when the
clock recovers, those windows will immediately expire (since any real
timestamp ≥ 0 + window_secs) and reset naturally.
Trait Implementations§
Source§impl Clock for SystemClock
impl Clock for SystemClock
Source§fn now_unix_secs(&self) -> u64
fn now_unix_secs(&self) -> u64
Return the current time as a Unix timestamp (seconds since the epoch).
Source§impl Clone for SystemClock
impl Clone for SystemClock
Source§fn clone(&self) -> SystemClock
fn clone(&self) -> SystemClock
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreimpl Copy for SystemClock
Source§impl Debug for SystemClock
impl Debug for SystemClock
Source§impl Default for SystemClock
impl Default for SystemClock
Source§fn default() -> SystemClock
fn default() -> SystemClock
Returns the “default value” for a type. Read more
Auto Trait Implementations§
impl Freeze for SystemClock
impl RefUnwindSafe for SystemClock
impl Send for SystemClock
impl Sync for SystemClock
impl Unpin for SystemClock
impl UnsafeUnpin for SystemClock
impl UnwindSafe for SystemClock
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<A, B, T> HttpServerConnExec<A, B> for Twhere
B: Body,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more