trait DynProvider:
DynClone
+ Send
+ Sync
+ 'static {
// Required methods
fn dyn_now(&self) -> Instant;
fn dyn_wallclock(&self) -> SystemTime;
fn dyn_sleep(
&self,
duration: Duration,
) -> Pin<Box<dyn Future<Output = ()> + Send + 'static>>;
fn dyn_block_advance(&self, reason: String);
fn dyn_release_advance(&self, _reason: String);
fn dyn_allow_one_advance(&self, duration: Duration);
fn dyn_now_coarse(&self) -> CoarseInstant;
}Expand description
Object-safe version of SleepProvider and CoarseTimeProvider
The methods mirror those in SleepProvider and CoarseTimeProvider
Required Methods§
fn dyn_now(&self) -> Instant
fn dyn_wallclock(&self) -> SystemTime
fn dyn_sleep( &self, duration: Duration, ) -> Pin<Box<dyn Future<Output = ()> + Send + 'static>>
fn dyn_block_advance(&self, reason: String)
fn dyn_release_advance(&self, _reason: String)
fn dyn_allow_one_advance(&self, duration: Duration)
fn dyn_now_coarse(&self) -> CoarseInstant
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".