use std::io::{self, Read};
pub trait ReadUtilities
where
Self: Sized,
{
fn read_chunk(self, max: u64, buffer: &mut Vec<u8>) -> io::Result<Self>;
}
impl<ReadT> ReadUtilities for ReadT
where
ReadT: io::Read,
{
fn read_chunk(self, max: u64, buffer: &mut Vec<u8>) -> io::Result<Self> {
let mut reader = self.take(max);
reader.read_to_end(buffer)?;
Ok(reader.into_inner())
}
}