pub trait Read {
// Required method
fn read(&mut self, buf: &mut [u8]) -> Result<usize>;
// Provided methods
fn read_exact(&mut self, buf: &mut [u8]) -> Result<()> { ... }
fn take(&mut self, limit: u64) -> Take<'_, Self> { ... }
fn read_to_limit(&mut self, buf: &mut Vec<u8>, limit: u64) -> Result<usize> { ... }
}Expand description
A generic trait describing an input stream. See std::io::Read for more info.
Required Methods§
Provided Methods§
Sourcefn read_exact(&mut self, buf: &mut [u8]) -> Result<()>
fn read_exact(&mut self, buf: &mut [u8]) -> Result<()>
Reads bytes from source until buf is full.
Sourcefn take(&mut self, limit: u64) -> Take<'_, Self>
fn take(&mut self, limit: u64) -> Take<'_, Self>
Creates an adapter which will read at most limit bytes.
Sourcefn read_to_limit(&mut self, buf: &mut Vec<u8>, limit: u64) -> Result<usize>
Available on crate feature alloc only.
fn read_to_limit(&mut self, buf: &mut Vec<u8>, limit: u64) -> Result<usize>
alloc only.Attempts to read up to limit bytes from the reader, allocating space in buf as needed.
limit is used to prevent a denial of service attack vector since an unbounded reader will
exhaust all memory.
Similar to std::io::Read::read_to_end but with the DOS protection.
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 Read for &UnixStream
Available on crate feature std only.
impl Read for &UnixStream
Available on crate feature
std only.Source§impl Read for UnixStream
Available on crate feature std only.
impl Read for UnixStream
Available on crate feature
std only.Source§impl Read for ChildStderr
Available on crate feature std only.
impl Read for ChildStderr
Available on crate feature
std only.Source§impl Read for ChildStdout
Available on crate feature std only.
impl Read for ChildStdout
Available on crate feature
std only.