pub struct MockNetRuntime<R: Runtime> { /* private fields */ }
Expand description
A wrapper Runtime that overrides the SleepProvider trait for the underlying runtime.
Implementations§
Source§impl<R: Runtime> MockNetRuntime<R>
impl<R: Runtime> MockNetRuntime<R>
Sourcepub fn new(runtime: R, net: MockNetProvider) -> Self
pub fn new(runtime: R, net: MockNetProvider) -> Self
Create a new runtime that wraps runtime
, but overrides
its view of the network with a MockNetProvider
, net
.
Sourcepub fn mock_net(&self) -> &MockNetProvider
pub fn mock_net(&self) -> &MockNetProvider
Return a reference to the MockNetProvider
Trait Implementations§
Source§impl<R: Runtime> Blocking for MockNetRuntime<R>
impl<R: Runtime> Blocking for MockNetRuntime<R>
Source§type ThreadHandle<T: Send + 'static> = <R as Blocking>::ThreadHandle<T>
type ThreadHandle<T: Send + 'static> = <R as Blocking>::ThreadHandle<T>
Future from
spawn_blocking
Source§fn spawn_blocking<F, T>(&self, f: F) -> <R as Blocking>::ThreadHandle<T>
fn spawn_blocking<F, T>(&self, f: F) -> <R as Blocking>::ThreadHandle<T>
Spawn a thread for blocking IO or CPU-bound work. Read more
Source§fn reenter_block_on<F>(&self, future: F) -> F::Output
fn reenter_block_on<F>(&self, future: F) -> F::Output
Block on a future, from within
Blocking::spawn_blocking
Read moreSource§impl<R: Clone + Runtime> Clone for MockNetRuntime<R>
impl<R: Clone + Runtime> Clone for MockNetRuntime<R>
Source§fn clone(&self) -> MockNetRuntime<R>
fn clone(&self) -> MockNetRuntime<R>
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moreSource§impl<R: Runtime> CoarseTimeProvider for MockNetRuntime<R>
impl<R: Runtime> CoarseTimeProvider for MockNetRuntime<R>
Source§fn now_coarse(&self) -> CoarseInstant
fn now_coarse(&self) -> CoarseInstant
Return the
CoarseTimeProvider
’s view of the current instant. Read moreSource§impl<R: Runtime> NetStreamProvider<SocketAddr> for MockNetRuntime<R>
impl<R: Runtime> NetStreamProvider<SocketAddr> for MockNetRuntime<R>
Source§type Stream = FakeStream
type Stream = FakeStream
The type for the connections returned by
Self::connect()
.Source§type Listener = FakeListener<SocketAddr>
type Listener = FakeListener<SocketAddr>
The type for the listeners returned by
Self::listen()
.Source§fn connect<'life0, 'life1, 'async_trait>(
&'life0 self,
_addr: &'life1 SocketAddr,
) -> Pin<Box<dyn Future<Output = IoResult<Self::Stream>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn connect<'life0, 'life1, 'async_trait>(
&'life0 self,
_addr: &'life1 SocketAddr,
) -> Pin<Box<dyn Future<Output = IoResult<Self::Stream>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Launch a connection connection to a given socket address. Read more
Source§impl<R: Runtime> NetStreamProvider for MockNetRuntime<R>
impl<R: Runtime> NetStreamProvider for MockNetRuntime<R>
Source§type Stream = <MockNetProvider as NetStreamProvider>::Stream
type Stream = <MockNetProvider as NetStreamProvider>::Stream
The type for the connections returned by
Self::connect()
.Source§type Listener = <MockNetProvider as NetStreamProvider>::Listener
type Listener = <MockNetProvider as NetStreamProvider>::Listener
The type for the listeners returned by
Self::listen()
.Source§fn connect<'life0, 'life1, 'async_trait>(
&'life0 self,
addr: &'life1 SocketAddr,
) -> Pin<Box<dyn Future<Output = IoResult<Self::Stream>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn connect<'life0, 'life1, 'async_trait>(
&'life0 self,
addr: &'life1 SocketAddr,
) -> Pin<Box<dyn Future<Output = IoResult<Self::Stream>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Launch a connection connection to a given socket address. Read more
Source§impl<R: Runtime> SleepProvider for MockNetRuntime<R>
impl<R: Runtime> SleepProvider for MockNetRuntime<R>
Source§type SleepFuture = <R as SleepProvider>::SleepFuture
type SleepFuture = <R as SleepProvider>::SleepFuture
A future returned by
SleepProvider::sleep()
Source§fn sleep(&self, dur: Duration) -> Self::SleepFuture
fn sleep(&self, dur: Duration) -> Self::SleepFuture
Return a future that will be ready after
duration
has
elapsed.Source§fn wallclock(&self) -> SystemTime
fn wallclock(&self) -> SystemTime
Return the SleepProvider’s view of the current wall-clock time. Read more
Source§fn block_advance<T: Into<String>>(&self, reason: T)
fn block_advance<T: Into<String>>(&self, reason: T)
Signify that a test running under mock time shouldn’t advance time yet, with a given
unique reason string. This is useful for making sure (mock) time doesn’t advance while
things that might require some (real-world) time to complete do so, such as spawning a task
on another thread. Read more
Source§fn release_advance<T: Into<String>>(&self, reason: T)
fn release_advance<T: Into<String>>(&self, reason: T)
Signify that the reason to withhold time advancing provided in a call to
block_advance
no
longer exists, and it’s fine to move time forward if nothing else is blocking advances. Read moreSource§fn allow_one_advance(&self, dur: Duration)
fn allow_one_advance(&self, dur: Duration)
Allow a test running under mock time to advance time by the provided duration, even if the
above
block_advance
API has been used. Read moreSource§impl<R: Runtime> Spawn for MockNetRuntime<R>
impl<R: Runtime> Spawn for MockNetRuntime<R>
Source§impl<R: Runtime> TlsProvider<<MockNetProvider as NetStreamProvider>::Stream> for MockNetRuntime<R>
impl<R: Runtime> TlsProvider<<MockNetProvider as NetStreamProvider>::Stream> for MockNetRuntime<R>
Source§type Connector = <MockNetProvider as TlsProvider<<MockNetProvider as NetStreamProvider>::Stream>>::Connector
type Connector = <MockNetProvider as TlsProvider<<MockNetProvider as NetStreamProvider>::Stream>>::Connector
The Connector object that this provider can return.
Source§type TlsStream = <MockNetProvider as TlsProvider<<MockNetProvider as NetStreamProvider>::Stream>>::TlsStream
type TlsStream = <MockNetProvider as TlsProvider<<MockNetProvider as NetStreamProvider>::Stream>>::TlsStream
The type of the stream returned by that connector.
Source§fn tls_connector(&self) -> Self::Connector
fn tls_connector(&self) -> Self::Connector
Return a TLS connector for use with this runtime.
Source§fn supports_keying_material_export(&self) -> bool
fn supports_keying_material_export(&self) -> bool
Return true iff the keying material exporters (RFC 5705) is supported.
Source§impl<R> ToplevelBlockOn for MockNetRuntime<R>where
R: ToplevelBlockOn + Runtime,
impl<R> ToplevelBlockOn for MockNetRuntime<R>where
R: ToplevelBlockOn + Runtime,
Source§impl<R: Runtime> UdpProvider for MockNetRuntime<R>
impl<R: Runtime> UdpProvider for MockNetRuntime<R>
Source§type UdpSocket = <MockNetProvider as UdpProvider>::UdpSocket
type UdpSocket = <MockNetProvider as UdpProvider>::UdpSocket
The type of Udp Socket returned by
Self::bind()
Auto Trait Implementations§
impl<R> Freeze for MockNetRuntime<R>where
R: Freeze,
impl<R> RefUnwindSafe for MockNetRuntime<R>where
R: RefUnwindSafe,
impl<R> Send for MockNetRuntime<R>
impl<R> Sync for MockNetRuntime<R>
impl<R> Unpin for MockNetRuntime<R>where
R: Unpin,
impl<R> UnwindSafe for MockNetRuntime<R>where
R: 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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§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 moreSource§impl<T> NetStreamProvider<SocketAddr> for T
impl<T> NetStreamProvider<SocketAddr> for T
Source§type Stream = Stream
type Stream = Stream
The type for the connections returned by
Self::connect()
.Source§type Listener = Listener
type Listener = Listener
The type for the listeners returned by
Self::listen()
.Source§fn connect<'life0, 'life1, 'async_trait>(
&'life0 self,
addr: &'life1 SocketAddr,
) -> Pin<Box<dyn Future<Output = Result<Stream, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
T: 'async_trait,
fn connect<'life0, 'life1, 'async_trait>(
&'life0 self,
addr: &'life1 SocketAddr,
) -> Pin<Box<dyn Future<Output = Result<Stream, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
T: 'async_trait,
Launch a connection connection to a given socket address. Read more
Source§impl<R> RuntimeSubstExt for Rwhere
R: Runtime,
impl<R> RuntimeSubstExt for Rwhere
R: Runtime,
Source§fn with_tcp_provider<T>(
&self,
new_tcp: T,
) -> CompoundRuntime<R, R, R, T, R, R, R>
fn with_tcp_provider<T>( &self, new_tcp: T, ) -> CompoundRuntime<R, R, R, T, R, R, R>
Return a new runtime wrapping this runtime, but replacing its TCP NetStreamProvider.
Source§fn with_sleep_provider<T>(
&self,
new_sleep: T,
) -> CompoundRuntime<R, T, R, R, R, R, R>
fn with_sleep_provider<T>( &self, new_sleep: T, ) -> CompoundRuntime<R, T, R, R, R, R, R>
Return a new runtime wrapping this runtime, but replacing its SleepProvider.
Source§fn with_coarse_time_provider<T>(
&self,
new_coarse_time: T,
) -> CompoundRuntime<R, R, T, R, R, R, R>
fn with_coarse_time_provider<T>( &self, new_coarse_time: T, ) -> CompoundRuntime<R, R, T, R, R, R, R>
Return a new runtime wrapping this runtime, but replacing its CoarseTimeProvider.
Source§impl<T> SleepProviderExt for Twhere
T: SleepProvider,
impl<T> SleepProviderExt for Twhere
T: SleepProvider,
Source§fn timeout<F>(
&self,
duration: Duration,
future: F,
) -> Timeout<F, Self::SleepFuture>where
F: Future,
fn timeout<F>(
&self,
duration: Duration,
future: F,
) -> Timeout<F, Self::SleepFuture>where
F: Future,
Source§fn sleep_until_wallclock(
&self,
when: SystemTime,
) -> SleepUntilWallclock<'_, Self>
fn sleep_until_wallclock( &self, when: SystemTime, ) -> SleepUntilWallclock<'_, Self>
Pause until the wall-clock is at
when
or later, trying to
recover from clock jumps. Read more§impl<Sp> SpawnExt for Spwhere
Sp: Spawn + ?Sized,
impl<Sp> SpawnExt for Spwhere
Sp: Spawn + ?Sized,
§fn spawn<Fut>(&self, future: Fut) -> Result<(), SpawnError>
fn spawn<Fut>(&self, future: Fut) -> Result<(), SpawnError>
Spawns a task that polls the given future with output
()
to
completion. Read more