Module protocol

Module 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§

TCompactInputProtocol
Read messages encoded in the Thrift compact protocol.
TCompactInputStreamProtocol
TCompactOutputProtocol
Write messages using the Thrift compact protocol.
TCompactOutputStreamProtocol
Write messages asyncronously using the Thrift compact protocol.
TFieldIdentifier
Thrift field identifier.
TListIdentifier
Thrift list identifier.
TMapIdentifier
Thrift map identifier.
TMessageIdentifier
Thrift message identifier.
TSetIdentifier
Thrift set identifier.
TStructIdentifier
Thrift struct identifier.

Enums§

TMessageType
Thrift message types.
TType
Thrift struct-field types.

Traits§

TInputProtocol
Converts a stream of bytes into Thrift identifiers, primitives, containers, or structs.
TInputStreamProtocol
TOutputProtocol
Converts Thrift identifiers, primitives, containers or structs into a stream of bytes.
TOutputStreamProtocol

Functions§

field_id
Extract the field id from a Thrift field identifier.
verify_expected_message_type
Compare the expected message type expected with the received message type actual.
verify_expected_sequence_number
Compare the expected message sequence number expected with the received message sequence number actual.
verify_expected_service_call
Compare the expected service-call name expected with the received service-call name actual.
verify_required_field_exists
Check if a required Thrift struct field exists.