embedded_io_async

Trait BufRead

Source
pub trait BufRead: ErrorType {
    // Required methods
    async fn fill_buf(&mut self) -> Result<&[u8], Self::Error>;
    fn consume(&mut self, amt: usize);
}
Expand description

Async buffered reader.

This trait is the embedded-io-async equivalent of [std::io::BufRead].

Required Methods§

Source

async fn fill_buf(&mut self) -> Result<&[u8], Self::Error>

Return the contents of the internal buffer, filling it with more data from the inner reader if it is empty.

If no bytes are currently available to read, this function waits until at least one byte is available.

If the reader is at end-of-file (EOF), an empty slice is returned. There is no guarantee that a reader at EOF will always be so in the future, for example a reader can stop being at EOF if another process appends more bytes to the underlying file.

Source

fn consume(&mut self, amt: usize)

Tell this buffer that amt bytes have been consumed from the buffer, so they should no longer be returned in calls to fill_buf.

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 BufRead for &[u8]

Source§

async fn fill_buf(&mut self) -> Result<&[u8], Self::Error>

Source§

fn consume(&mut self, amt: usize)

Source§

impl<T: ?Sized + BufRead> BufRead for &mut T

Source§

async fn fill_buf(&mut self) -> Result<&[u8], Self::Error>

Source§

fn consume(&mut self, amt: usize)

Implementors§