Trait terminal_thrift::protocol::Protocol [] [src]

pub trait Protocol {
    fn write_message_begin<T: Transport>(
        &mut self,
        transport: &mut T,
        name: &str,
        message_type: MessageType,
        sequence_id: i32
    ) -> Result<()>; fn write_message_end<T: Transport>(
        &mut self,
        transport: &mut T
    ) -> Result<()>; fn write_struct_begin<T: Transport>(
        &mut self,
        transport: &mut T,
        name: &str
    ) -> Result<()>; fn write_struct_end<T: Transport>(
        &mut self,
        transport: &mut T
    ) -> Result<()>; fn write_field_begin<T: Transport>(
        &mut self,
        transport: &mut T,
        name: &str,
        field_type: Type,
        field_id: i16
    ) -> Result<()>; fn write_field_end<T: Transport>(&mut self, transport: &mut T) -> Result<()>; fn write_field_stop<T: Transport>(
        &mut self,
        transport: &mut T
    ) -> Result<()>; fn write_map_begin<T: Transport>(
        &mut self,
        transport: &mut T,
        key_type: Type,
        value_type: Type,
        size: usize
    ) -> Result<()>; fn write_map_end<T: Transport>(&mut self, transport: &mut T) -> Result<()>; fn write_list_begin<T: Transport>(
        &mut self,
        transport: &mut T,
        elem_type: Type,
        size: usize
    ) -> Result<()>; fn write_list_end<T: Transport>(&mut self, transport: &mut T) -> Result<()>; fn write_set_begin<T: Transport>(
        &mut self,
        transport: &mut T,
        elem_type: Type,
        size: usize
    ) -> Result<()>; fn write_set_end<T: Transport>(&mut self, transport: &mut T) -> Result<()>; fn write_bool<T: Transport>(
        &mut self,
        transport: &mut T,
        value: bool
    ) -> Result<()>; fn write_byte<T: Transport>(
        &mut self,
        transport: &mut T,
        value: i8
    ) -> Result<()>; fn write_i16<T: Transport>(
        &mut self,
        transport: &mut T,
        value: i16
    ) -> Result<()>; fn write_i32<T: Transport>(
        &mut self,
        transport: &mut T,
        value: i32
    ) -> Result<()>; fn write_i64<T: Transport>(
        &mut self,
        transport: &mut T,
        value: i64
    ) -> Result<()>; fn write_double<T: Transport>(
        &mut self,
        transport: &mut T,
        value: f64
    ) -> Result<()>; fn write_str<T: Transport>(
        &mut self,
        transport: &mut T,
        value: &str
    ) -> Result<()>; fn write_string<T: Transport>(
        &mut self,
        transport: &mut T,
        value: &String
    ) -> Result<()>; fn write_binary<T: Transport>(
        &mut self,
        transport: &mut T,
        value: &[u8]
    ) -> Result<()>; fn read_message_begin<T: Transport>(
        &mut self,
        transport: &mut T
    ) -> Result<(String, MessageType, i32)>; fn read_message_end<T: Transport>(
        &mut self,
        transport: &mut T
    ) -> Result<()>; fn read_struct_begin<T: Transport>(
        &mut self,
        transport: &mut T
    ) -> Result<String>; fn read_struct_end<T: Transport>(&mut self, transport: &mut T) -> Result<()>; fn read_field_begin<T: Transport>(
        &mut self,
        transport: &mut T
    ) -> Result<(String, Type, i16)>; fn read_field_end<T: Transport>(&mut self, transport: &mut T) -> Result<()>; fn read_map_begin<T: Transport>(
        &mut self,
        transport: &mut T
    ) -> Result<(Type, Type, i32)>; fn read_map_end<T: Transport>(&mut self, transport: &mut T) -> Result<()>; fn read_list_begin<T: Transport>(
        &mut self,
        transport: &mut T
    ) -> Result<(Type, i32)>; fn read_list_end<T: Transport>(&mut self, transport: &mut T) -> Result<()>; fn read_set_begin<T: Transport>(
        &mut self,
        transport: &mut T
    ) -> Result<(Type, i32)>; fn read_set_end<T: Transport>(&mut self, transport: &mut T) -> Result<()>; fn read_bool<T: Transport>(&mut self, transport: &mut T) -> Result<bool>; fn read_byte<T: Transport>(&mut self, transport: &mut T) -> Result<i8>; fn read_i16<T: Transport>(&mut self, transport: &mut T) -> Result<i16>; fn read_i32<T: Transport>(&mut self, transport: &mut T) -> Result<i32>; fn read_i64<T: Transport>(&mut self, transport: &mut T) -> Result<i64>; fn read_double<T: Transport>(&mut self, transport: &mut T) -> Result<f64>; fn read_string<T: Transport>(&mut self, transport: &mut T) -> Result<String>; fn read_binary<T: Transport>(
        &mut self,
        transport: &mut T
    ) -> Result<Vec<u8>>; fn skip<T: Transport>(
        &mut self,
        transport: &mut T,
        type_: Type
    ) -> Result<()>; }

Required Methods

Implementors