use crate::util::impl_runtime_prelude::*;
use crate::net::MockNetProvider;
#[derive(Clone, Debug, Deftly)]
#[derive_deftly(SomeMockRuntime)]
pub struct MockNetRuntime<R: Runtime> {
#[deftly(mock(task, sleep))]
#[deftly(mock(toplevel_where = "R: ToplevelBlockOn"))]
runtime: R,
#[deftly(mock(net))]
net: MockNetProvider,
}
impl<R: Runtime> MockNetRuntime<R> {
pub fn new(runtime: R, net: MockNetProvider) -> Self {
MockNetRuntime { runtime, net }
}
pub fn inner(&self) -> &R {
&self.runtime
}
pub fn mock_net(&self) -> &MockNetProvider {
&self.net
}
}