pub struct BufferedRead<'buf, T: Read> { /* private fields */ }Expand description
A buffered Read
The BufferedRead will read into the provided buffer to avoid small reads to the inner reader.
Implementations§
Source§impl<'buf, T: Read> BufferedRead<'buf, T>
impl<'buf, T: Read> BufferedRead<'buf, T>
Sourcepub fn new_with_data(
inner: T,
buf: &'buf mut [u8],
offset: usize,
available: usize,
) -> Self
pub fn new_with_data( inner: T, buf: &'buf mut [u8], offset: usize, available: usize, ) -> Self
Create a new buffered reader with the first available bytes readily available at offset.
This is useful if for some reason the inner reader was previously consumed by a greedy reader in a way such that the BufferedRead must inherit these excess bytes.
Sourcepub fn bypass(&mut self) -> Result<&mut T, BypassError>
pub fn bypass(&mut self) -> Result<&mut T, BypassError>
Get the inner reader if there are no currently buffered, available bytes
Trait Implementations§
Source§impl<T: Read> BufRead for BufferedRead<'_, T>
impl<T: Read> BufRead for BufferedRead<'_, T>
Source§impl<T: Read> ErrorType for BufferedRead<'_, T>
impl<T: Read> ErrorType for BufferedRead<'_, T>
Source§impl<T: Read> Read for BufferedRead<'_, T>
impl<T: Read> Read for BufferedRead<'_, T>
Source§async fn read(&mut self, buf: &mut [u8]) -> Result<usize, Self::Error>
async fn read(&mut self, buf: &mut [u8]) -> Result<usize, Self::Error>
Read some bytes from this source into the specified buffer, returning how many bytes were read. Read more
Source§async fn read_exact(
&mut self,
buf: &mut [u8],
) -> Result<(), ReadExactError<Self::Error>>
async fn read_exact( &mut self, buf: &mut [u8], ) -> Result<(), ReadExactError<Self::Error>>
Read the exact number of bytes required to fill
buf. Read moreSource§impl<T: Read + Write> Write for BufferedRead<'_, T>
impl<T: Read + Write> Write for BufferedRead<'_, T>
Auto Trait Implementations§
impl<'buf, T> Freeze for BufferedRead<'buf, T>where
T: Freeze,
impl<'buf, T> RefUnwindSafe for BufferedRead<'buf, T>where
T: RefUnwindSafe,
impl<'buf, T> Send for BufferedRead<'buf, T>where
T: Send,
impl<'buf, T> Sync for BufferedRead<'buf, T>where
T: Sync,
impl<'buf, T> Unpin for BufferedRead<'buf, T>where
T: Unpin,
impl<'buf, T> !UnwindSafe for BufferedRead<'buf, T>
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more