Trait ProtocolReader

Source
pub trait ProtocolReader {
Show 29 methods // Required methods fn read_message_begin<F, T>( &mut self, method: F, ) -> Result<(T, MessageType, u32)> where F: FnOnce(&[u8]) -> T; fn read_message_end(&mut self) -> Result<()>; fn read_struct_begin<F, T>(&mut self, strukt: F) -> Result<T> where F: FnOnce(&[u8]) -> T; fn read_struct_end(&mut self) -> Result<()>; fn read_field_begin<F, T>( &mut self, field: F, fields: &[Field], ) -> Result<(T, TType, i16)> where F: FnOnce(&[u8]) -> T; fn read_field_end(&mut self) -> Result<()>; fn read_map_begin(&mut self) -> Result<(TType, TType, Option<usize>)>; fn read_map_key_begin(&mut self) -> Result<bool>; fn read_map_value_begin(&mut self) -> Result<()>; fn read_map_value_end(&mut self) -> Result<()>; fn read_map_end(&mut self) -> Result<()>; fn read_list_begin(&mut self) -> Result<(TType, Option<usize>)>; fn read_list_value_begin(&mut self) -> Result<bool>; fn read_list_value_end(&mut self) -> Result<()>; fn read_list_end(&mut self) -> Result<()>; fn read_set_begin(&mut self) -> Result<(TType, Option<usize>)>; fn read_set_value_begin(&mut self) -> Result<bool>; fn read_set_value_end(&mut self) -> Result<()>; fn read_set_end(&mut self) -> Result<()>; fn read_bool(&mut self) -> Result<bool>; fn read_byte(&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_float(&mut self) -> Result<f32>; fn read_string(&mut self) -> Result<String>; fn read_binary<V: CopyFromBuf>(&mut self) -> Result<V>; // Provided method fn skip(&mut self, field_type: TType) -> Result<()> { ... }
}
Expand description

Trait for decoding a frame in a given protocol

Required Methods§

Source

fn read_message_begin<F, T>( &mut self, method: F, ) -> Result<(T, MessageType, u32)>
where F: FnOnce(&[u8]) -> T,

Source

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

Source

fn read_struct_begin<F, T>(&mut self, strukt: F) -> Result<T>
where F: FnOnce(&[u8]) -> T,

Source

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

Source

fn read_field_begin<F, T>( &mut self, field: F, fields: &[Field], ) -> Result<(T, TType, i16)>
where F: FnOnce(&[u8]) -> T,

Source

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

Source

fn read_map_begin(&mut self) -> Result<(TType, TType, Option<usize>)>

Source

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

Source

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

Source

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

Source

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

Source

fn read_list_begin(&mut self) -> Result<(TType, Option<usize>)>

Source

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

Source

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

Source

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

Source

fn read_set_begin(&mut self) -> Result<(TType, Option<usize>)>

Source

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

Source

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

Source

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

Source

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

Source

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

Source

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

Source

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

Source

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

Source

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

Source

fn read_float(&mut self) -> Result<f32>

Source

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

Source

fn read_binary<V: CopyFromBuf>(&mut self) -> Result<V>

Provided Methods§

Source

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

Skip over the next data element from the provided input Protocol object

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.

Implementors§