polars_parquet_format::thrift::protocol

Trait TInputProtocol

Source
pub trait TInputProtocol: Sized {
Show 24 methods // Required methods fn read_message_begin(&mut self) -> Result<TMessageIdentifier>; fn read_message_end(&mut self) -> Result<()>; fn read_struct_begin(&mut self) -> Result<Option<TStructIdentifier>>; fn read_struct_end(&mut self) -> Result<()>; fn read_field_begin(&mut self) -> Result<TFieldIdentifier>; fn read_field_end(&mut self) -> Result<()>; fn read_bool(&mut self) -> Result<bool>; fn read_bytes(&mut self) -> Result<Vec<u8>>; fn read_i8(&mut self) -> Result<i8>; fn read_i16(&mut self) -> Result<i16>; fn read_i32(&mut self) -> Result<i32>; fn read_i64(&mut self) -> Result<i64>; fn read_double(&mut self) -> Result<f64>; fn read_string(&mut self) -> Result<String>; fn read_list_begin(&mut self) -> Result<TListIdentifier>; fn read_list_end(&mut self) -> Result<()>; fn read_set_begin(&mut self) -> Result<TSetIdentifier>; fn read_set_end(&mut self) -> Result<()>; fn read_map_begin(&mut self) -> Result<TMapIdentifier>; fn read_map_end(&mut self) -> Result<()>; fn read_byte(&mut self) -> Result<u8>; // Provided methods fn skip(&mut self, field_type: TType) -> Result<()> { ... } fn skip_till_depth(&mut self, field_type: TType, depth: i8) -> Result<()> { ... } fn read_list<P: ReadThrift>(&mut self) -> Result<Vec<P>> { ... }
}
Expand description

Converts a stream of bytes into Thrift identifiers, primitives, containers, or structs.

This trait does not deal with higher-level Thrift concepts like structs or exceptions - only with primitives and message or container boundaries. Once bytes are read they are deserialized and an identifier (for example TMessageIdentifier) or a primitive is returned.

All methods return a thrift::Result. If an Err is returned the protocol instance and its underlying transport should be terminated.

Required Methods§

Source

fn read_message_begin(&mut self) -> Result<TMessageIdentifier>

Read the beginning of a Thrift message.

Source

fn read_message_end(&mut self) -> Result<()>

Read the end of a Thrift message.

Source

fn read_struct_begin(&mut self) -> Result<Option<TStructIdentifier>>

Read the beginning of a Thrift struct.

Source

fn read_struct_end(&mut self) -> Result<()>

Read the end of a Thrift struct.

Source

fn read_field_begin(&mut self) -> Result<TFieldIdentifier>

Read the beginning of a Thrift struct field.

Source

fn read_field_end(&mut self) -> Result<()>

Read the end of a Thrift struct field.

Source

fn read_bool(&mut self) -> Result<bool>

Read a bool.

Source

fn read_bytes(&mut self) -> Result<Vec<u8>>

Read a fixed-length byte array.

Source

fn read_i8(&mut self) -> Result<i8>

Read a word.

Source

fn read_i16(&mut self) -> Result<i16>

Read a 16-bit signed integer.

Source

fn read_i32(&mut self) -> Result<i32>

Read a 32-bit signed integer.

Source

fn read_i64(&mut self) -> Result<i64>

Read a 64-bit signed integer.

Source

fn read_double(&mut self) -> Result<f64>

Read a 64-bit float.

Source

fn read_string(&mut self) -> Result<String>

Read a fixed-length string (not null terminated).

Source

fn read_list_begin(&mut self) -> Result<TListIdentifier>

Read the beginning of a list.

Source

fn read_list_end(&mut self) -> Result<()>

Read the end of a list.

Source

fn read_set_begin(&mut self) -> Result<TSetIdentifier>

Read the beginning of a set.

Source

fn read_set_end(&mut self) -> Result<()>

Read the end of a set.

Source

fn read_map_begin(&mut self) -> Result<TMapIdentifier>

Read the beginning of a map.

Source

fn read_map_end(&mut self) -> Result<()>

Read the end of a map.

Source

fn read_byte(&mut self) -> Result<u8>

Read an unsigned byte.

This method should never be used in generated code.

Provided Methods§

Source

fn skip(&mut self, field_type: TType) -> Result<()>

Skip a field with type field_type recursively until the default maximum skip depth is reached.

Source

fn skip_till_depth(&mut self, field_type: TType, depth: i8) -> Result<()>

Skip a field with type field_type recursively up to depth levels.

Source

fn read_list<P: ReadThrift>(&mut self) -> Result<Vec<P>>

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementations on Foreign Types§

Source§

impl<P> TInputProtocol for Box<P>
where P: TInputProtocol,

Implementors§