pub struct RemoteNetworkingServerDriver {
    common: Arc<RemoteAdapterCommon>,
    more_work: UnboundedReceiver<BoxFuture<'static, ()>>,
    tasks: FuturesOrdered<BoxFuture<'static, ()>>,
    inner: Arc<dyn VirtualNetworking + Send + Sync + 'static>,
}Fields§
§common: Arc<RemoteAdapterCommon>§more_work: UnboundedReceiver<BoxFuture<'static, ()>>§tasks: FuturesOrdered<BoxFuture<'static, ()>>§inner: Arc<dyn VirtualNetworking + Send + Sync + 'static>Implementations§
Source§impl RemoteNetworkingServerDriver
 
impl RemoteNetworkingServerDriver
fn process(&mut self, msg: MessageRequest) -> Option<BoxFuture<'static, ()>>
fn process_send( &mut self, socket_id: SocketId, data: Vec<u8>, req_id: Option<u64>, ) -> Option<BoxFuture<'static, ()>>
fn process_send_to( &mut self, socket_id: SocketId, data: Vec<u8>, addr: SocketAddr, req_id: Option<u64>, ) -> Option<BoxFuture<'static, ()>>
fn process_async<F>(future: F) -> Option<BoxFuture<'static, ()>>
fn process_async_inner<F, Fut, T>( &self, work: F, transmute: T, req_id: Option<u64>, ) -> Option<BoxFuture<'static, ()>>
fn process_async_noop<F, Fut>( &self, work: F, req_id: Option<u64>, ) -> Option<BoxFuture<'static, ()>>
fn process_async_new_socket<F, Fut>(
    &self,
    work: F,
    socket_id: SocketId,
    req_id: Option<u64>,
) -> Option<BoxFuture<'static, ()>>where
    F: FnOnce(Arc<dyn VirtualNetworking + Send + Sync>) -> Fut + Send + 'static,
    Fut: Future<Output = Result<RemoteAdapterSocket, NetworkError>> + Send + 'static,
fn process_inner<F, R, T>(
    &self,
    work: F,
    transmute: T,
    socket_id: SocketId,
    req_id: Option<u64>,
) -> Option<BoxFuture<'static, ()>>where
    F: FnOnce(&mut RemoteAdapterSocket) -> R + Send + 'static,
    T: FnOnce(R) -> ResponseType + Send + 'static,
fn process_inner_noop<F>( &self, work: F, socket_id: SocketId, req_id: Option<u64>, ) -> Option<BoxFuture<'static, ()>>
fn process_inner_begin_accept( &self, socket_id: SocketId, child_id: SocketId, req_id: Option<u64>, ) -> Option<BoxFuture<'static, ()>>
fn process_interface( &mut self, req: RequestType, req_id: Option<u64>, ) -> Option<BoxFuture<'static, ()>>
fn process_socket( &mut self, socket_id: SocketId, req: RequestType, req_id: Option<u64>, ) -> Option<BoxFuture<'static, ()>>
Trait Implementations§
impl<'__pin> Unpin for RemoteNetworkingServerDriverwhere
    PinnedFieldsOf<__Origin<'__pin>>: Unpin,
Auto Trait Implementations§
impl !Freeze for RemoteNetworkingServerDriver
impl !RefUnwindSafe for RemoteNetworkingServerDriver
impl Send for RemoteNetworkingServerDriver
impl !Sync for RemoteNetworkingServerDriver
impl !UnwindSafe for RemoteNetworkingServerDriver
Blanket Implementations§
§impl<T> ArchivePointee for T
 
impl<T> ArchivePointee for T
§type ArchivedMetadata = ()
 
type ArchivedMetadata = ()
The archived version of the pointer metadata for this type.
§fn pointer_metadata(
    _: &<T as ArchivePointee>::ArchivedMetadata,
) -> <T as Pointee>::Metadata
 
fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata
Converts some archived metadata to the pointer metadata for itself.
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
§impl<T> FutureExt for T
 
impl<T> FutureExt for T
§fn map<U, F>(self, f: F) -> Map<Self, F>
 
fn map<U, F>(self, f: F) -> Map<Self, F>
Map this future’s output to a different type, returning a new future of
the resulting type. Read more
§fn map_into<U>(self) -> MapInto<Self, U>
 
fn map_into<U>(self) -> MapInto<Self, U>
Map this future’s output to a different type, returning a new future of
the resulting type. Read more
§fn then<Fut, F>(self, f: F) -> Then<Self, Fut, F>
 
fn then<Fut, F>(self, f: F) -> Then<Self, Fut, F>
Chain on a computation for when a future finished, passing the result of
the future to the provided closure 
f. Read more§fn left_future<B>(self) -> Either<Self, B>
 
fn left_future<B>(self) -> Either<Self, B>
§fn right_future<A>(self) -> Either<A, Self>
 
fn right_future<A>(self) -> Either<A, Self>
§fn into_stream(self) -> IntoStream<Self>where
    Self: Sized,
 
fn into_stream(self) -> IntoStream<Self>where
    Self: Sized,
Convert this future into a single element stream. Read more
§fn flatten(self) -> Flatten<Self>
 
fn flatten(self) -> Flatten<Self>
Flatten the execution of this future when the output of this
future is itself another future. Read more
§fn flatten_stream(self) -> FlattenStream<Self>
 
fn flatten_stream(self) -> FlattenStream<Self>
Flatten the execution of this future when the successful result of this
future is a stream. Read more
§fn fuse(self) -> Fuse<Self>where
    Self: Sized,
 
fn fuse(self) -> Fuse<Self>where
    Self: Sized,
Fuse a future such that 
poll will never again be called once it has
completed. This method can be used to turn any Future into a
FusedFuture. Read more§fn inspect<F>(self, f: F) -> Inspect<Self, F>
 
fn inspect<F>(self, f: F) -> Inspect<Self, F>
Do something with the output of a future before passing it on. Read more
§fn catch_unwind(self) -> CatchUnwind<Self>where
    Self: Sized + UnwindSafe,
 
fn catch_unwind(self) -> CatchUnwind<Self>where
    Self: Sized + UnwindSafe,
Catches unwinding panics while polling the future. Read more
Create a cloneable handle to this future where all handles will resolve
to the same result. Read more
§fn remote_handle(self) -> (Remote<Self>, RemoteHandle<Self::Output>)where
    Self: Sized,
 
fn remote_handle(self) -> (Remote<Self>, RemoteHandle<Self::Output>)where
    Self: Sized,
Turn this future into a future that yields 
() on completion and sends
its output to another future on a separate task. Read more§fn boxed<'a>(self) -> Pin<Box<dyn Future<Output = Self::Output> + Send + 'a>>
 
fn boxed<'a>(self) -> Pin<Box<dyn Future<Output = Self::Output> + Send + 'a>>
Wrap the future in a Box, pinning it. Read more
§fn boxed_local<'a>(self) -> Pin<Box<dyn Future<Output = Self::Output> + 'a>>where
    Self: Sized + 'a,
 
fn boxed_local<'a>(self) -> Pin<Box<dyn Future<Output = Self::Output> + 'a>>where
    Self: Sized + 'a,
Wrap the future in a Box, pinning it. Read more
§fn unit_error(self) -> UnitError<Self>where
    Self: Sized,
 
fn unit_error(self) -> UnitError<Self>where
    Self: Sized,
Turns a 
Future<Output = T> into a
TryFuture<Ok = T, Error = ()>.§fn never_error(self) -> NeverError<Self>where
    Self: Sized,
 
fn never_error(self) -> NeverError<Self>where
    Self: Sized,
Turns a 
Future<Output = T> into a
TryFuture<Ok = T, Error = Never>.§impl<T> FutureExt for T
 
impl<T> FutureExt for T
§fn with_cancellation_token(
    self,
    cancellation_token: &CancellationToken,
) -> WithCancellationTokenFuture<'_, Self>where
    Self: Sized,
 
fn with_cancellation_token(
    self,
    cancellation_token: &CancellationToken,
) -> WithCancellationTokenFuture<'_, Self>where
    Self: Sized,
Similar to [
CancellationToken::run_until_cancelled],
but with the advantage that it is easier to write fluent call chains,
and biased towards waiting for [CancellationToken] to complete. Read more§fn with_cancellation_token_owned(
    self,
    cancellation_token: CancellationToken,
) -> WithCancellationTokenFutureOwned<Self>where
    Self: Sized,
 
fn with_cancellation_token_owned(
    self,
    cancellation_token: CancellationToken,
) -> WithCancellationTokenFutureOwned<Self>where
    Self: Sized,
Similar to [
CancellationToken::run_until_cancelled_owned],
but with the advantage that it is easier to write fluent call chains,
and biased towards waiting for [CancellationToken] to complete. Read more§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<F> IntoFuture for Fwhere
    F: Future,
 
impl<F> IntoFuture for Fwhere
    F: Future,
Source§type IntoFuture = F
 
type IntoFuture = F
Which kind of future are we turning this into?
Source§fn into_future(self) -> <F as IntoFuture>::IntoFuture
 
fn into_future(self) -> <F as IntoFuture>::IntoFuture
Creates a future from a value. Read more
§impl<T> LayoutRaw for T
 
impl<T> LayoutRaw for T
§fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
 
fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
Returns the layout of the type.