pub struct FixedClock { /* private fields */ }Expand description
A clock that returns the instant supplied by a test until it is set again.
Implementations§
Source§impl FixedClock
impl FixedClock
Sourcepub fn new(now: SystemTime) -> Self
pub fn new(now: SystemTime) -> Self
A clock initially set to now.
Sourcepub fn set(&self, now: SystemTime)
pub fn set(&self, now: SystemTime)
Set the time every subsequent read returns, including a backward jump.
Sourcepub fn sleeps_begun(&self) -> u64
pub fn sleeps_begun(&self) -> u64
How many deadlines and waits have begun on this clock so far.
Trait Implementations§
Source§impl Clock for FixedClock
Available on crate feature test-utils only.
impl Clock for FixedClock
Available on crate feature
test-utils only.Source§fn elapsed(&self) -> Duration
fn elapsed(&self) -> Duration
Forward settings advance it, as sleep would; backward ones do not.
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>>
Wakes when a setting reaches at; one before it, forward or back,
does not.
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 Freeze for FixedClock
impl RefUnwindSafe for FixedClock
impl Send for FixedClock
impl Sync for FixedClock
impl Unpin for FixedClock
impl UnsafeUnpin for FixedClock
impl UnwindSafe for FixedClock
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