pub struct BufWriter<W: Write> { /* private fields */ }
Expand description
The BufWriter
adds buffering to any writer using a specialized buffer.
This is very similar std::io::BufWriter
, but it uses a
Ring
for internal the buffer.
§Examples
use vmap::io::{BufReader, BufWriter};
let recv = TcpStream::connect(srv.local_addr().unwrap())?;
let send = /* accepted socked */
let mut wr = BufWriter::new(send, 4000).unwrap();
wr.write_all(b"hello\nworld\n")?;
wr.flush()?;
let mut rd = BufReader::new(recv, 4000).unwrap();
let mut line = String::new();
let len = rd.read_line(&mut line)?;
assert_eq!(line, "hello\n");
Implementations§
Trait Implementations§
source§impl<W: Write> Write for BufWriter<W>
impl<W: Write> Write for BufWriter<W>
source§fn write(&mut self, buf: &[u8]) -> Result<usize>
fn write(&mut self, buf: &[u8]) -> Result<usize>
Write a buffer into this writer, returning how many bytes were written. Read more
source§fn flush(&mut self) -> Result<()>
fn flush(&mut self) -> Result<()>
Flush 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> RefUnwindSafe for BufWriter<W>where
W: RefUnwindSafe,
impl<W> !Send for BufWriter<W>
impl<W> !Sync for BufWriter<W>
impl<W> Unpin for BufWriter<W>where
W: Unpin,
impl<W> UnwindSafe for BufWriter<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