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§

TBinaryInputProtocol
Read messages encoded in the Thrift simple binary encoding.
TBinaryInputProtocolFactory
Factory for creating instances of TBinaryInputProtocol.
TBinaryOutputProtocol
Write messages using the Thrift simple binary encoding.
TBinaryOutputProtocolFactory
Factory for creating instances of TBinaryOutputProtocol.
TCompactInputProtocol
Read messages encoded in the Thrift compact protocol.
TCompactInputProtocolFactory
Factory for creating instances of TCompactInputProtocol.
TCompactOutputProtocol
Write messages using the Thrift compact protocol.
TCompactOutputProtocolFactory
Factory for creating instances of TCompactOutputProtocol.
TFieldIdentifier
Thrift field identifier.
TListIdentifier
Thrift list identifier.
TMapIdentifier
Thrift map identifier.
TMessageIdentifier
Thrift message identifier.
TMultiplexedOutputProtocol
TOutputProtocol that prefixes the service name to all outgoing Thrift messages.
TSetIdentifier
Thrift set identifier.
TStoredInputProtocol
TInputProtocol required to use a TMultiplexedProcessor.
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.
TInputProtocolFactory
Helper type used by servers to create TInputProtocol instances for accepted client connections.
TOutputProtocol
Converts Thrift identifiers, primitives, containers or structs into a stream of bytes.
TOutputProtocolFactory
Helper type used by servers to create TOutputProtocol instances for accepted client connections.
TSerializable
Reads and writes the struct to Thrift protocols.

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.