Struct thrift::transport::TFramedWriteTransport
source · pub struct TFramedWriteTransport<C>where
C: Write,{ /* private fields */ }
Expand description
Transport that writes framed messages.
A TFramedWriteTransport
maintains a fixed-size internal write buffer. All
writes are made to this buffer and are sent to the wrapped channel only
when TFramedWriteTransport::flush()
is called. On a flush a fixed-length
header with a count of the buffered bytes is written, followed by the bytes
themselves.
Examples
Create and use a TFramedWriteTransport
.
use std::io::Write;
use thrift::transport::{TFramedWriteTransport, TTcpChannel};
let mut c = TTcpChannel::new();
c.open("localhost:9090").unwrap();
let mut t = TFramedWriteTransport::new(c);
t.write(&[0x00]).unwrap();
t.flush().unwrap();
Implementations§
source§impl<C> TFramedWriteTransport<C>where
C: Write,
impl<C> TFramedWriteTransport<C>where C: Write,
sourcepub fn new(channel: C) -> TFramedWriteTransport<C> ⓘ
pub fn new(channel: C) -> TFramedWriteTransport<C> ⓘ
Create a TFramedWriteTransport
with default-sized internal
write buffer that wraps the given TIoChannel
.
sourcepub fn with_capacity(
write_capacity: usize,
channel: C
) -> TFramedWriteTransport<C> ⓘ
pub fn with_capacity( write_capacity: usize, channel: C ) -> TFramedWriteTransport<C> ⓘ
Create a TFramedWriteTransport
with an internal write buffer
of size write_capacity
that wraps the given TIoChannel
.
Trait Implementations§
source§impl<C> Write for TFramedWriteTransport<C>where
C: Write,
impl<C> Write for TFramedWriteTransport<C>where C: Write,
source§fn write(&mut self, b: &[u8]) -> Result<usize>
fn write(&mut self, b: &[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<C> RefUnwindSafe for TFramedWriteTransport<C>where C: RefUnwindSafe,
impl<C> Send for TFramedWriteTransport<C>where C: Send,
impl<C> Sync for TFramedWriteTransport<C>where C: Sync,
impl<C> Unpin for TFramedWriteTransport<C>where C: Unpin,
impl<C> UnwindSafe for TFramedWriteTransport<C>where C: 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
source§impl<W> FixedIntWriter for Wwhere
W: Write,
impl<W> FixedIntWriter for Wwhere W: Write,
source§impl<Inner> VarIntWriter for Innerwhere
Inner: Write,
impl<Inner> VarIntWriter for Innerwhere Inner: Write,
source§impl<W> WriteBytesExt for Wwhere
W: Write + ?Sized,
impl<W> WriteBytesExt for Wwhere W: Write + ?Sized,
source§fn write_u8(&mut self, n: u8) -> Result<(), Error>
fn write_u8(&mut self, n: u8) -> Result<(), Error>
Writes an unsigned 8 bit integer to the underlying writer. Read more
source§fn write_i8(&mut self, n: i8) -> Result<(), Error>
fn write_i8(&mut self, n: i8) -> Result<(), Error>
Writes a signed 8 bit integer to the underlying writer. Read more
source§fn write_u16<T>(&mut self, n: u16) -> Result<(), Error>where
T: ByteOrder,
fn write_u16<T>(&mut self, n: u16) -> Result<(), Error>where T: ByteOrder,
Writes an unsigned 16 bit integer to the underlying writer. Read more
source§fn write_i16<T>(&mut self, n: i16) -> Result<(), Error>where
T: ByteOrder,
fn write_i16<T>(&mut self, n: i16) -> Result<(), Error>where T: ByteOrder,
Writes a signed 16 bit integer to the underlying writer. Read more
source§fn write_u24<T>(&mut self, n: u32) -> Result<(), Error>where
T: ByteOrder,
fn write_u24<T>(&mut self, n: u32) -> Result<(), Error>where T: ByteOrder,
Writes an unsigned 24 bit integer to the underlying writer. Read more
source§fn write_i24<T>(&mut self, n: i32) -> Result<(), Error>where
T: ByteOrder,
fn write_i24<T>(&mut self, n: i32) -> Result<(), Error>where T: ByteOrder,
Writes a signed 24 bit integer to the underlying writer. Read more
source§fn write_u32<T>(&mut self, n: u32) -> Result<(), Error>where
T: ByteOrder,
fn write_u32<T>(&mut self, n: u32) -> Result<(), Error>where T: ByteOrder,
Writes an unsigned 32 bit integer to the underlying writer. Read more
source§fn write_i32<T>(&mut self, n: i32) -> Result<(), Error>where
T: ByteOrder,
fn write_i32<T>(&mut self, n: i32) -> Result<(), Error>where T: ByteOrder,
Writes a signed 32 bit integer to the underlying writer. Read more
source§fn write_u48<T>(&mut self, n: u64) -> Result<(), Error>where
T: ByteOrder,
fn write_u48<T>(&mut self, n: u64) -> Result<(), Error>where T: ByteOrder,
Writes an unsigned 48 bit integer to the underlying writer. Read more
source§fn write_i48<T>(&mut self, n: i64) -> Result<(), Error>where
T: ByteOrder,
fn write_i48<T>(&mut self, n: i64) -> Result<(), Error>where T: ByteOrder,
Writes a signed 48 bit integer to the underlying writer. Read more
source§fn write_u64<T>(&mut self, n: u64) -> Result<(), Error>where
T: ByteOrder,
fn write_u64<T>(&mut self, n: u64) -> Result<(), Error>where T: ByteOrder,
Writes an unsigned 64 bit integer to the underlying writer. Read more
source§fn write_i64<T>(&mut self, n: i64) -> Result<(), Error>where
T: ByteOrder,
fn write_i64<T>(&mut self, n: i64) -> Result<(), Error>where T: ByteOrder,
Writes a signed 64 bit integer to the underlying writer. Read more
source§fn write_u128<T>(&mut self, n: u128) -> Result<(), Error>where
T: ByteOrder,
fn write_u128<T>(&mut self, n: u128) -> Result<(), Error>where T: ByteOrder,
Writes an unsigned 128 bit integer to the underlying writer.
source§fn write_i128<T>(&mut self, n: i128) -> Result<(), Error>where
T: ByteOrder,
fn write_i128<T>(&mut self, n: i128) -> Result<(), Error>where T: ByteOrder,
Writes a signed 128 bit integer to the underlying writer.
source§fn write_uint<T>(&mut self, n: u64, nbytes: usize) -> Result<(), Error>where
T: ByteOrder,
fn write_uint<T>(&mut self, n: u64, nbytes: usize) -> Result<(), Error>where T: ByteOrder,
Writes an unsigned n-bytes integer to the underlying writer. Read more
source§fn write_int<T>(&mut self, n: i64, nbytes: usize) -> Result<(), Error>where
T: ByteOrder,
fn write_int<T>(&mut self, n: i64, nbytes: usize) -> Result<(), Error>where T: ByteOrder,
Writes a signed n-bytes integer to the underlying writer. Read more
source§fn write_uint128<T>(&mut self, n: u128, nbytes: usize) -> Result<(), Error>where
T: ByteOrder,
fn write_uint128<T>(&mut self, n: u128, nbytes: usize) -> Result<(), Error>where T: ByteOrder,
Writes an unsigned n-bytes integer to the underlying writer. Read more
source§fn write_int128<T>(&mut self, n: i128, nbytes: usize) -> Result<(), Error>where
T: ByteOrder,
fn write_int128<T>(&mut self, n: i128, nbytes: usize) -> Result<(), Error>where T: ByteOrder,
Writes a signed n-bytes integer to the underlying writer. Read more