Trait fbthrift_git::protocol::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§
fn read_message_begin<F, T>( &mut self, method: F ) -> Result<(T, MessageType, u32)>
fn read_message_end(&mut self) -> Result<()>
fn read_struct_begin<F, T>(&mut self, strukt: F) -> Result<T>
fn read_struct_end(&mut self) -> Result<()>
fn read_field_begin<F, T>( &mut self, field: F, fields: &[Field] ) -> Result<(T, TType, i16)>
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 Methods§
Object Safety§
This trait is not object safe.