pub trait ReadLayered: Read + Bufferable {
// Required method
fn read_with_status(&mut self, buf: &mut [u8]) -> Result<(usize, Status)>;
// Provided methods
fn read_vectored_with_status(
&mut self,
bufs: &mut [IoSliceMut<'_>],
) -> Result<(usize, Status)> { ... }
fn read_exact_using_status(&mut self, buf: &mut [u8]) -> Result<Status> { ... }
fn minimum_buffer_size(&self) -> usize { ... }
}Expand description
An extension of Read, with read_with_status and
read_vectored_with_status which return status information and zero is not
special-cased. It also allows streams to specify a minimum_buffer_size.
Required Methods§
Sourcefn read_with_status(&mut self, buf: &mut [u8]) -> Result<(usize, Status)>
fn read_with_status(&mut self, buf: &mut [u8]) -> Result<(usize, Status)>
Like Read::read, but also returns a Status.
Provided Methods§
Sourcefn read_vectored_with_status(
&mut self,
bufs: &mut [IoSliceMut<'_>],
) -> Result<(usize, Status)>
fn read_vectored_with_status( &mut self, bufs: &mut [IoSliceMut<'_>], ) -> Result<(usize, Status)>
Like Read::read_vectored, but also returns a Status.
Sourcefn read_exact_using_status(&mut self, buf: &mut [u8]) -> Result<Status>
fn read_exact_using_status(&mut self, buf: &mut [u8]) -> Result<Status>
Like Read::read_exact, but uses read_with_status to avoid
performing an extra read at the end.
Sourcefn minimum_buffer_size(&self) -> usize
fn minimum_buffer_size(&self) -> usize
Some streams require a buffer of at least a certain size.