pub enum SharedVmoIoRequest {
Transmit {
buffer: SharedVmoBuffer,
responder: SharedVmoIoTransmitResponder,
},
Receive {
buffer: SharedVmoBuffer,
responder: SharedVmoIoReceiveResponder,
},
Exchange {
tx_buffer: SharedVmoBuffer,
rx_buffer: SharedVmoBuffer,
responder: SharedVmoIoExchangeResponder,
},
}Expand description
This is a generic protocol for driver IO using shared VMOs. Drivers may compose this protocol and choose which methods to implement based on the uses of the hardware. This protocol is only intended for simple use cases.
Variants§
Transmit
Sends the data in buffer to the device.
Receive
Receives data from the device into buffer.
Exchange
Simultaneously transmits and receives data. The size fields of tx_buffer and rx_buffer must be the same.
Fields
§
tx_buffer: SharedVmoBuffer§
rx_buffer: SharedVmoBuffer§
responder: SharedVmoIoExchangeResponderImplementations§
pub fn into_transmit( self, ) -> Option<(SharedVmoBuffer, SharedVmoIoTransmitResponder)>
pub fn into_receive( self, ) -> Option<(SharedVmoBuffer, SharedVmoIoReceiveResponder)>
pub fn into_exchange( self, ) -> Option<(SharedVmoBuffer, SharedVmoBuffer, SharedVmoIoExchangeResponder)>
Sourcepub fn method_name(&self) -> &'static str
pub fn method_name(&self) -> &'static str
Name of the method defined in FIDL
Trait Implementations§
Auto Trait Implementations§
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