Module thrift::protocol

source ·
Expand description

Types used to send and receive primitives between a Thrift client and server.

Examples

Create and use a TInputProtocol.

use thrift::protocol::{TBinaryInputProtocol, TInputProtocol};
use thrift::transport::TTcpChannel;

// create the I/O channel
let mut channel = TTcpChannel::new();
channel.open("127.0.0.1:9090").unwrap();

// create the protocol to decode bytes into types
let mut protocol = TBinaryInputProtocol::new(channel, true);

// read types from the wire
let field_identifier = protocol.read_field_begin().unwrap();
let field_contents = protocol.read_string().unwrap();
let field_end = protocol.read_field_end().unwrap();

Create and use a TOutputProtocol.

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

// create the I/O channel
let mut channel = TTcpChannel::new();
channel.open("127.0.0.1:9090").unwrap();

// create the protocol to encode types into bytes
let mut protocol = TBinaryOutputProtocol::new(channel, true);

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

Structs

Enums

Traits

  • Converts a stream of bytes into Thrift identifiers, primitives, containers, or structs.
  • Helper type used by servers to create TInputProtocol instances for accepted client connections.
  • Converts Thrift identifiers, primitives, containers or structs into a stream of bytes.
  • Helper type used by servers to create TOutputProtocol instances for accepted client connections.

Functions