Struct bufstream::BufStream
[−]
[src]
pub struct BufStream<S: Write> { // 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 Read+Write
. 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 Read+Write
.
The output buffer will be written out 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 write buffer is written out before returning the stream. Any leftover data in the read buffer is lost.