Skip to main content

SharedVmoIoLocalServerHandler

Trait SharedVmoIoLocalServerHandler 

Source
pub trait SharedVmoIoLocalServerHandler<___T = Channel>
where ___T: Transport,
{ // Required methods fn transmit( &mut self, request: Request<Transmit, ___T>, responder: Responder<Transmit, ___T>, ) -> impl Future<Output = ()>; fn receive( &mut self, request: Request<Receive, ___T>, responder: Responder<Receive, ___T>, ) -> impl Future<Output = ()>; fn exchange( &mut self, request: Request<Exchange, ___T>, responder: Responder<Exchange, ___T>, ) -> impl Future<Output = ()>; }
Expand description

A server handler for the SharedVmoIo protocol.

See SharedVmoIo for more details.

Required Methods§

Source

fn transmit( &mut self, request: Request<Transmit, ___T>, responder: Responder<Transmit, ___T>, ) -> impl Future<Output = ()>

Sends the data in buffer to the device.

Source

fn receive( &mut self, request: Request<Receive, ___T>, responder: Responder<Receive, ___T>, ) -> impl Future<Output = ()>

Receives data from the device into buffer.

Source

fn exchange( &mut self, request: Request<Exchange, ___T>, responder: Responder<Exchange, ___T>, ) -> impl Future<Output = ()>

Simultaneously transmits and receives data. The size fields of tx_buffer and rx_buffer must be the same.

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementations on Foreign Types§

Source§

impl<___H, ___T> SharedVmoIoLocalServerHandler<___T> for Local<___H>
where ___H: SharedVmoIoServerHandler<___T>, ___T: Transport,

Source§

async fn transmit( &mut self, request: Request<Transmit, ___T>, responder: Responder<Transmit, ___T>, )

Source§

async fn receive( &mut self, request: Request<Receive, ___T>, responder: Responder<Receive, ___T>, )

Source§

async fn exchange( &mut self, request: Request<Exchange, ___T>, responder: Responder<Exchange, ___T>, )

Implementors§