Skip to main content

AsyncBufferInterface

Trait AsyncBufferInterface 

Source
pub trait AsyncBufferInterface: BufferInterfaceBase {
    // Required methods
    async fn write(
        &mut self,
        address: Self::AddressType,
        buf: &[u8],
    ) -> Result<usize, Self::Error>;
    async fn flush(
        &mut self,
        address: Self::AddressType,
    ) -> Result<(), Self::Error>;
    async fn read(
        &mut self,
        address: Self::AddressType,
        buf: &mut [u8],
    ) -> Result<usize, Self::Error>;
}
Expand description

A trait to represent the interface to the device.

This is called to read from and write to buffers.

Required Methods§

Source

async fn write( &mut self, address: Self::AddressType, buf: &[u8], ) -> Result<usize, Self::Error>

Write to the buffer with the given address.

This interface must adhere to [embedded_io_async::Write::write].

Source

async fn flush(&mut self, address: Self::AddressType) -> Result<(), Self::Error>

Flush this output stream with the given address.

This interface must adhere to [embedded_io_async::Write::flush].

Source

async fn read( &mut self, address: Self::AddressType, buf: &mut [u8], ) -> Result<usize, Self::Error>

Read from the buffer with the given address.

This interface must adhere to [embedded_io_async::Read::read].

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<T: AsyncBufferInterface> AsyncBufferInterface for &mut T

Source§

fn write( &mut self, address: Self::AddressType, buf: &[u8], ) -> impl Future<Output = Result<usize, Self::Error>>

Source§

fn flush( &mut self, address: Self::AddressType, ) -> impl Future<Output = Result<(), Self::Error>>

Source§

fn read( &mut self, address: Self::AddressType, buf: &mut [u8], ) -> impl Future<Output = Result<usize, Self::Error>>

Implementors§