pub trait VecSource: DataSource {
// Required method
fn read_to_end<'a>(&mut self, buf: &'a mut Vec<u8>) -> Result<&'a [u8]>;
}
Expand description
A source stream reading data into vectors.
Required Methods§
Sourcefn read_to_end<'a>(&mut self, buf: &'a mut Vec<u8>) -> Result<&'a [u8]>
fn read_to_end<'a>(&mut self, buf: &'a mut Vec<u8>) -> Result<&'a [u8]>
Reads bytes into buf
until the presumptive end of the stream, returning
the bytes read. If an error is returned, any bytes read remain in buf
.
Note that the stream may not necessarily have ended; more bytes may still be read in subsequent calls. The stream’s end is only presumed to be reached. For example, a TCP socket may read no data signaling an end, but later begin reading again.
§Errors
Returns any IO errors encountered.
§Example
use data_streams::VecSource;
let mut input: &[u8] = b"Hello!";
let mut buf = Vec::new();
assert_eq!(input.read_to_end(&mut buf)?, b"Hello!");