pub trait TOutputProtocol {
Show 23 methods fn write_message_begin(
        &mut self,
        identifier: &TMessageIdentifier
    ) -> Result<()>; fn write_message_end(&mut self) -> Result<()>; fn write_struct_begin(
        &mut self,
        identifier: &TStructIdentifier
    ) -> Result<()>; fn write_struct_end(&mut self) -> Result<()>; fn write_field_begin(&mut self, identifier: &TFieldIdentifier) -> Result<()>; fn write_field_end(&mut self) -> Result<()>; fn write_field_stop(&mut self) -> Result<()>; fn write_bool(&mut self, b: bool) -> Result<()>; fn write_bytes(&mut self, b: &[u8]) -> Result<()>; fn write_i8(&mut self, i: i8) -> Result<()>; fn write_i16(&mut self, i: i16) -> Result<()>; fn write_i32(&mut self, i: i32) -> Result<()>; fn write_i64(&mut self, i: i64) -> Result<()>; fn write_double(&mut self, d: f64) -> Result<()>; fn write_string(&mut self, s: &str) -> Result<()>; fn write_list_begin(&mut self, identifier: &TListIdentifier) -> Result<()>; fn write_list_end(&mut self) -> Result<()>; fn write_set_begin(&mut self, identifier: &TSetIdentifier) -> Result<()>; fn write_set_end(&mut self) -> Result<()>; fn write_map_begin(&mut self, identifier: &TMapIdentifier) -> Result<()>; fn write_map_end(&mut self) -> Result<()>; fn flush(&mut self) -> Result<()>; fn write_byte(&mut self, b: u8) -> Result<()>;
}
Expand description

Converts Thrift identifiers, primitives, containers or structs into a stream of bytes.

This trait does not deal with higher-level Thrift concepts like structs or exceptions - only with primitives and message or container boundaries. Write methods take an identifier (for example, TMessageIdentifier) or a primitive. Any or all of the fields in an identifier may be omitted when writing to the transport. Write methods may even be noops. All of this is transparent to the caller; as long as a matching TInputProtocol implementation is used, received messages will be decoded correctly.

All methods return a thrift::Result. If an Err is returned the protocol instance and its underlying transport should be terminated.

Examples

Create and use a TOutputProtocol

use thrift::protocol::{TBinaryOutputProtocol, TFieldIdentifier, TOutputProtocol, TType};
use thrift::transport::TTcpChannel;

let mut channel = TTcpChannel::new();
channel.open("127.0.0.1:9090").unwrap();

let mut protocol = TBinaryOutputProtocol::new(channel, true);

protocol.write_field_begin(&TFieldIdentifier::new("string_thing", TType::String, 1)).unwrap();
protocol.write_string("foo").unwrap();
protocol.write_field_end().unwrap();

Required Methods

Write the beginning of a Thrift message.

Write the end of a Thrift message.

Write the beginning of a Thrift struct.

Write the end of a Thrift struct.

Write the beginning of a Thrift field.

Write the end of a Thrift field.

Write a STOP field indicating that all the fields in a struct have been written.

Write a bool.

Write a fixed-length byte array.

Write an 8-bit signed integer.

Write a 16-bit signed integer.

Write a 32-bit signed integer.

Write a 64-bit signed integer.

Write a 64-bit float.

Write a fixed-length string.

Write the beginning of a list.

Write the end of a list.

Write the beginning of a set.

Write the end of a set.

Write the beginning of a map.

Write the end of a map.

Flush buffered bytes to the underlying transport.

Write an unsigned byte.

This method should never be used in generated code.

Implementations on Foreign Types

Implementors