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 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.