Module thrift::protocol [] [src]

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.

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.