Struct thrift::transport::TBufferedReadTransport
[−]
[src]
pub struct TBufferedReadTransport<C> where
C: Read, { /* fields omitted */ }
Transport that reads messages via an internal buffer.
A TBufferedReadTransport
maintains a fixed-size internal read buffer.
On a call to TBufferedReadTransport::read(...)
one full message - both
fixed-length header and bytes - is read from the wrapped channel and buffered.
Subsequent read calls are serviced from the internal buffer until it is
exhausted, at which point the next full message is read from the wrapped
channel.
Examples
Create and use a TBufferedReadTransport
.
use std::io::Read; use thrift::transport::{TBufferedReadTransport, TTcpChannel}; let mut c = TTcpChannel::new(); c.open("localhost:9090").unwrap(); let mut t = TBufferedReadTransport::new(c); t.read(&mut vec![0u8; 1]).unwrap();
Methods
impl<C> TBufferedReadTransport<C> where
C: Read,
[src]
C: Read,
fn new(channel: C) -> TBufferedReadTransport<C>
Create a TBufferedTransport
with default-sized internal read and
write buffers that wraps the given TIoChannel
.
fn with_capacity(read_capacity: usize, channel: C) -> TBufferedReadTransport<C>
Create a TBufferedTransport
with an internal read buffer of size
read_capacity
and an internal write buffer of size
write_capacity
that wraps the given TIoChannel
.
Trait Implementations
impl<C: Debug> Debug for TBufferedReadTransport<C> where
C: Read,
[src]
C: Read,
impl<C> Read for TBufferedReadTransport<C> where
C: Read,
[src]
C: Read,
fn read(&mut self, buf: &mut [u8]) -> Result<usize>
Pull some bytes from this source into the specified buffer, returning how many bytes were read. Read more
fn read_to_end(&mut self, buf: &mut Vec<u8>) -> Result<usize, Error>
1.0.0
Read all bytes until EOF in this source, placing them into buf
. Read more
fn read_to_string(&mut self, buf: &mut String) -> Result<usize, Error>
1.0.0
Read all bytes until EOF in this source, placing them into buf
. Read more
fn read_exact(&mut self, buf: &mut [u8]) -> Result<(), Error>
1.6.0
Read the exact number of bytes required to fill buf
. Read more
fn by_ref(&mut self) -> &mut Self
1.0.0
Creates a "by reference" adaptor for this instance of Read
. Read more
fn bytes(self) -> Bytes<Self>
1.0.0
Transforms this Read
instance to an Iterator
over its bytes. Read more
fn chars(self) -> Chars<Self>
🔬 This is a nightly-only experimental API. (io
)
the semantics of a partial read/write of where errors happen is currently unclear and may change
Transforms this Read
instance to an Iterator
over char
s. Read more
fn chain<R>(self, next: R) -> Chain<Self, R> where
R: Read,
1.0.0
R: Read,
Creates an adaptor which will chain this stream with another. Read more
fn take(self, limit: u64) -> Take<Self>
1.0.0
Creates an adaptor which will read at most limit
bytes from it. Read more