Struct std::io::BufStreamUnstable
[-] [+]
[src]
pub struct BufStream<S> { // some fields omitted }
Wraps a Stream and buffers input and output to and from it.
It can be excessively inefficient to work directly with a Stream
. For
example, every call to read
or write
on TcpStream
results in a system
call. A BufStream
keeps in memory buffers of data, making large,
infrequent calls to read
and write
on the underlying Stream
.
The output half will be flushed when this stream is dropped.
Methods
impl<S: Read + Write> BufStream<S>
fn with_capacities(reader_cap: usize, writer_cap: usize, inner: S) -> BufStream<S>
Creates a new buffered stream with explicitly listed capacities for the reader/writer buffer.
fn new(inner: S) -> BufStream<S>
Creates a new buffered stream with the default reader/writer buffer capacities.
fn get_ref(&self) -> &S
Gets a reference to the underlying stream.
fn get_mut(&mut self) -> &mut S
Gets a mutable reference to the underlying stream.
Warning
It is inadvisable to read directly from or write directly to the underlying stream.
fn into_inner(self) -> Result<S, IntoInnerError<BufStream<S>>>
Unwraps this BufStream
, returning the underlying stream.
The internal buffer is flushed before returning the stream. Any leftover data in the read buffer is lost.