Struct quick_protobuf::reader::Reader
[−]
[src]
pub struct Reader<R> { /* fields omitted */ }
A struct to read protocol binary files
Methods
impl<R: Read> Reader<R>
[src]
fn from_reader(r: R, len: usize) -> Reader<R>
Creates a new protocol buffer reader with the maximum len of bytes to read
fn next_tag(&mut self) -> Result<u32>
Reads next tag, None
if all bytes have been read
fn read_int32(&mut self) -> Result<i32>
Reads int32 (varint)
fn read_int64(&mut self) -> Result<i64>
Reads int64 (varint)
fn read_uint32(&mut self) -> Result<u32>
Reads uint32 (varint)
fn read_uint64(&mut self) -> Result<u64>
Reads uint64 (varint)
fn read_sint32(&mut self) -> Result<i32>
Reads sint32 (varint)
fn read_sint64(&mut self) -> Result<i64>
Reads sint64 (varint)
fn read_fixed64(&mut self) -> Result<u64>
Reads fixed64 (little endian u64)
fn read_fixed32(&mut self) -> Result<u32>
Reads fixed32 (little endian u32)
fn read_sfixed64(&mut self) -> Result<i64>
Reads sfixed64 (little endian i64)
fn read_sfixed32(&mut self) -> Result<i32>
Reads sfixed32 (little endian i32)
fn read_float(&mut self) -> Result<f32>
Reads float (little endian f32)
fn read_double(&mut self) -> Result<f64>
Reads double (little endian f64)
fn read_bool(&mut self) -> Result<bool>
Reads bool (varint, check if == 0)
fn read_enum<E: From<i32>>(&mut self) -> Result<E>
Reads enum, encoded as i32
fn read_bytes(&mut self) -> Result<Vec<u8>>
Reads bytes (Vec
fn read_string(&mut self) -> Result<String>
Reads string (String)
fn read_packed_repeated_field<M, F: FnMut(&mut Self) -> Result<M>>(&mut self,
read: F)
-> Result<Vec<M>>
read: F)
-> Result<Vec<M>>
Reads packed repeated field (Vec
Note: packed field are stored as a variable length chunk of data, while regular repeated fields behaves like an iterator, yielding their tag everytime
fn read_message<M: MessageRead>(&mut self) -> Result<M>
Reads a nested message
fn read_unknown(&mut self, tag_value: u32) -> Result<()>
Reads unknown data, based on its tag value (which itself gives us the wire_type value)
fn len(&self) -> usize
Gets the remaining length of bytes not read yet
fn inner(&mut self) -> &mut R
Gets the inner reader
fn is_eof(&self) -> bool
Checks if self.len == 0