pub struct BufferedWrite<'buf, T: Write> { /* private fields */ }Expand description
A buffered Write
The BufferedWrite will write into the provided buffer to avoid small writes to the inner writer.
Implementations§
Source§impl<'buf, T: Write> BufferedWrite<'buf, T>
impl<'buf, T: Write> BufferedWrite<'buf, T>
Sourcepub fn new_with_data(inner: T, buf: &'buf mut [u8], written: usize) -> Self
pub fn new_with_data(inner: T, buf: &'buf mut [u8], written: usize) -> Self
Create a new buffered writer with a pre-polulated buffer
Sourcepub fn written(&self) -> usize
pub fn written(&self) -> usize
Get the number of bytes that are currently buffered but not yet written to the inner writer
Sourcepub fn bypass(&mut self) -> Result<&mut T, BypassError>
pub fn bypass(&mut self) -> Result<&mut T, BypassError>
Get the inner writer if there are no currently buffered, written bytes
Sourcepub fn bypass_with_buf(&mut self) -> Result<(&mut T, &mut [u8]), BypassError>
pub fn bypass_with_buf(&mut self) -> Result<(&mut T, &mut [u8]), BypassError>
Get the inner writer if there are no currently buffered, written bytes, and rent the buffer
Trait Implementations§
Source§impl<T: Write> ErrorType for BufferedWrite<'_, T>
impl<T: Write> ErrorType for BufferedWrite<'_, T>
Source§impl<T: Read + Write> Read for BufferedWrite<'_, T>
impl<T: Read + Write> Read for BufferedWrite<'_, 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: Write> Write for BufferedWrite<'_, T>
impl<T: Write> Write for BufferedWrite<'_, T>
Source§async fn write(&mut self, buf: &[u8]) -> Result<usize, Self::Error>
async fn write(&mut self, buf: &[u8]) -> Result<usize, Self::Error>
Write a buffer into this writer, returning how many bytes were written. Read more
Auto Trait Implementations§
impl<'buf, T> Freeze for BufferedWrite<'buf, T>where
T: Freeze,
impl<'buf, T> RefUnwindSafe for BufferedWrite<'buf, T>where
T: RefUnwindSafe,
impl<'buf, T> Send for BufferedWrite<'buf, T>where
T: Send,
impl<'buf, T> Sync for BufferedWrite<'buf, T>where
T: Sync,
impl<'buf, T> Unpin for BufferedWrite<'buf, T>where
T: Unpin,
impl<'buf, T> !UnwindSafe for BufferedWrite<'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