pub struct DefaultBuffer<W: Write> { /* private fields */ }Expand description
A BufWriter-like type that exposes its unfilled capacity as a slice through
BufferedWrite trait.
Like BufWriter, this structure stores the written bytes in its internal buffer and writes
them into the underlying writer when dropped or when the buffer becomes full.
Implementations§
Source§impl<W: Write> DefaultBuffer<W>
impl<W: Write> DefaultBuffer<W>
Sourcepub fn into_parts(self) -> (W, Result<Vec<u8>, WriterPanicked>)
pub fn into_parts(self) -> (W, Result<Vec<u8>, WriterPanicked>)
Disassembles the structure and returns the underlying writer and unwritten buffered data.
If the underlying writer experienced panic in a previous call to write, this method wraps
the buffered data with the WriterPanicked error to signal the fact that the buffered
data might have been partly written to the underlying writer.
This method does not attempt to flush the buffer.
Trait Implementations§
Source§impl<W: Write> BufferedWrite for DefaultBuffer<W>
impl<W: Write> BufferedWrite for DefaultBuffer<W>
Source§impl<W: Write> Drop for DefaultBuffer<W>
impl<W: Write> Drop for DefaultBuffer<W>
Source§impl<W: Write> Write for DefaultBuffer<W>
impl<W: Write> Write for DefaultBuffer<W>
Source§fn write(&mut self, buf: &[u8]) -> Result<usize>
fn write(&mut self, buf: &[u8]) -> Result<usize>
Writes a buffer into this writer, returning how many bytes were written. Read more
Source§fn flush(&mut self) -> Result<()>
fn flush(&mut self) -> Result<()>
Flushes this output stream, ensuring that all intermediately buffered
contents reach their destination. Read more
Source§fn is_write_vectored(&self) -> bool
fn is_write_vectored(&self) -> bool
🔬This is a nightly-only experimental API. (
can_vector)1.0.0 · Source§fn write_all(&mut self, buf: &[u8]) -> Result<(), Error>
fn write_all(&mut self, buf: &[u8]) -> Result<(), Error>
Attempts to write an entire buffer into this writer. Read more
Source§fn write_all_vectored(&mut self, bufs: &mut [IoSlice<'_>]) -> Result<(), Error>
fn write_all_vectored(&mut self, bufs: &mut [IoSlice<'_>]) -> Result<(), Error>
🔬This is a nightly-only experimental API. (
write_all_vectored)Attempts to write multiple buffers into this writer. Read more
Auto Trait Implementations§
impl<W> Freeze for DefaultBuffer<W>where
W: Freeze,
impl<W> RefUnwindSafe for DefaultBuffer<W>where
W: RefUnwindSafe,
impl<W> Send for DefaultBuffer<W>where
W: Send,
impl<W> Sync for DefaultBuffer<W>where
W: Sync,
impl<W> Unpin for DefaultBuffer<W>where
W: Unpin,
impl<W> UnsafeUnpin for DefaultBuffer<W>where
W: UnsafeUnpin,
impl<W> UnwindSafe for DefaultBuffer<W>where
W: UnwindSafe,
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