[−][src]Module thrift::protocol
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 |
| TBinaryOutputProtocol | Write messages using the Thrift simple binary encoding. |
| TBinaryOutputProtocolFactory | Factory for creating instances of |
| TCompactInputProtocol | Read messages encoded in the Thrift compact protocol. |
| TCompactInputProtocolFactory | Factory for creating instances of |
| TCompactOutputProtocol | Write messages using the Thrift compact protocol. |
| TCompactOutputProtocolFactory | Factory for creating instances of |
| TFieldIdentifier | Thrift field identifier. |
| TListIdentifier | Thrift list identifier. |
| TMapIdentifier | Thrift map identifier. |
| TMessageIdentifier | Thrift message identifier. |
| TMultiplexedOutputProtocol |
|
| TSetIdentifier | Thrift set identifier. |
| TStoredInputProtocol |
|
| 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 |
| TOutputProtocol | Converts Thrift identifiers, primitives, containers or structs into a stream of bytes. |
| TOutputProtocolFactory | Helper type used by servers to create |
Functions
| field_id | Extract the field id from a Thrift field identifier. |
| verify_expected_message_type | Compare the expected message type |
| verify_expected_sequence_number | Compare the expected message sequence number |
| verify_expected_service_call | Compare the expected service-call name |
| verify_required_field_exists | Check if a required Thrift struct field exists. |