Skip to main content

SharedVmoIoLocalServerHandler

Trait SharedVmoIoLocalServerHandler 

Source
pub trait SharedVmoIoLocalServerHandler<___T: Transport = Channel> {
    // 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".

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§