Struct thrift::transport::TTcpTransport
[−]
[src]
pub struct TTcpTransport { /* fields omitted */ }
Communicate with a Thrift service over a TCP socket.
Examples
Create a TTcpTransport
.
use std::io::{Read, Write}; use thrift::transport::TTcpTransport; let mut t = TTcpTransport::new(); t.open("localhost:9090").unwrap(); let mut buf = vec![0u8; 4]; t.read(&mut buf).unwrap(); t.write(&vec![0, 1, 2]).unwrap();
Create a TTcpTransport
by wrapping an existing TcpStream
.
use std::io::{Read, Write}; use std::net::TcpStream; use thrift::transport::TTcpTransport; let stream = TcpStream::connect("127.0.0.1:9189").unwrap(); let mut t = TTcpTransport::with_stream(stream); // no need to call t.open() since we've already connected above let mut buf = vec![0u8; 4]; t.read(&mut buf).unwrap(); t.write(&vec![0, 1, 2]).unwrap();
Methods
impl TTcpTransport
[src]
fn new() -> TTcpTransport
Create an uninitialized TTcpTransport
.
The returned instance must be opened using TTcpTransport::open(...)
before it can be used.
fn with_stream(stream: TcpStream) -> TTcpTransport
Create a TTcpTransport
that wraps an existing TcpStream
.
The passed-in stream is assumed to have been opened before being wrapped
by the created TTcpTransport
instance.
fn open(&mut self, remote_address: &str) -> Result<()>
Connect to remote_address
, which should have the form host:port
.
fn close(&mut self) -> Result<()>
Shutdown this transport.
Both send and receive halves are closed, and this instance can no longer be used to communicate with another endpoint.
Trait Implementations
impl Default for TTcpTransport
[src]
fn default() -> TTcpTransport
Returns the "default value" for a type. Read more
impl Read for TTcpTransport
[src]
fn read(&mut self, b: &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>
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
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
impl Write for TTcpTransport
[src]
fn write(&mut self, b: &[u8]) -> Result<usize>
Write a buffer into this object, returning how many bytes were written. Read more
fn flush(&mut self) -> Result<()>
Flush this output stream, ensuring that all intermediately buffered contents reach their destination. Read more
fn write_all(&mut self, buf: &[u8]) -> Result<(), Error>
1.0.0
Attempts to write an entire buffer into this write. Read more
fn write_fmt(&mut self, fmt: Arguments) -> Result<(), Error>
1.0.0
Writes a formatted string into this writer, returning any error encountered. Read more
fn by_ref(&mut self) -> &mut Self
1.0.0
Creates a "by reference" adaptor for this instance of Write
. Read more