pub struct ClosureClock<F>(pub F);Expand description
A clock that calls a supplied function on every read.
Tuple Fields§
§0: FThe function called on each read.
Trait Implementations§
Source§impl<F: Fn() -> SystemTime + Send + Sync> Clock for ClosureClock<F>
Available on crate feature test-utils only.
impl<F: Fn() -> SystemTime + Send + Sync> Clock for ClosureClock<F>
Available on crate feature
test-utils only.Source§fn elapsed(&self) -> Duration
fn elapsed(&self) -> Duration
A supplied wall reading has no monotonic counterpart: it never advances.
Source§fn sleep_until(
&self,
_at: SystemTime,
) -> Pin<Box<dyn Future<Output = Result<(), WallTimerError>> + Send>>
fn sleep_until( &self, _at: SystemTime, ) -> Pin<Box<dyn Future<Output = Result<(), WallTimerError>> + Send>>
Nothing says when the function’s reading reaches a time.
Source§fn now(&self) -> SystemTime
fn now(&self) -> SystemTime
The wall clock’s current time.
Source§fn deadline(
&self,
duration: Duration,
) -> Pin<Box<dyn Future<Output = ()> + Send>>
fn deadline( &self, duration: Duration, ) -> Pin<Box<dyn Future<Output = ()> + Send>>
End once
duration of elapsed time has passed: a deadline that
work races, such as a sign-in’s wait for its callback or a stalled
transfer’s, or an interval, such as the idle time between passes.
System clocks use the runtime’s monotonic timer; controlled clocks
wake only when their supplied time advances.Source§fn wait_out(&self, wait: Duration) -> Pin<Box<dyn Future<Output = ()> + Send>>
fn wait_out(&self, wait: Duration) -> Pin<Box<dyn Future<Output = ()> + Send>>
Wait out
wait before trying again: a backoff, a provider’s
cooldown, or the spacing between requests the code chose. It passes
as a deadline of the same length does; a test’s clock may move its
time to the wait’s end as the code arms it, since no work races it.Auto Trait Implementations§
impl<F> Freeze for ClosureClock<F>where
F: Freeze,
impl<F> RefUnwindSafe for ClosureClock<F>where
F: RefUnwindSafe,
impl<F> Send for ClosureClock<F>where
F: Send,
impl<F> Sync for ClosureClock<F>where
F: Sync,
impl<F> Unpin for ClosureClock<F>where
F: Unpin,
impl<F> UnsafeUnpin for ClosureClock<F>where
F: UnsafeUnpin,
impl<F> UnwindSafe for ClosureClock<F>where
F: UnwindSafe,
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