pub struct BuffReader<'a> {
pub position: usize,
/* private fields */
}Expand description
Buff reader is reading corresponding types from buffer (Byte array) and stores current position (later as cursor) In case of failure, the BuffReader remains in the same state as before the method call.
Fields§
§position: usizeImplementations§
Source§impl<'a> BuffReader<'a>
impl<'a> BuffReader<'a>
pub fn increment_position(&mut self, increment: usize)
pub fn new(buffer: &'a [u8], buff_len: usize) -> Self
Sourcepub fn read_variable_byte_int(&mut self) -> Result<u32, BufferError>
pub fn read_variable_byte_int(&mut self) -> Result<u32, BufferError>
Variable byte integer can be 1-4 Bytes long. Buffer reader takes all 4 Bytes at first and than check what is true length of varbyteint and increment cursor by that
Sourcepub fn read_u32(&mut self) -> Result<u32, BufferError>
pub fn read_u32(&mut self) -> Result<u32, BufferError>
Reading u32 from buffer as Big endian
Sourcepub fn read_u16(&mut self) -> Result<u16, BufferError>
pub fn read_u16(&mut self) -> Result<u16, BufferError>
Reading u16 from buffer as Big endinan
Sourcepub fn read_u8(&mut self) -> Result<u8, BufferError>
pub fn read_u8(&mut self) -> Result<u8, BufferError>
Reading one byte from buffer as Big endian
Sourcepub fn read_string(&mut self) -> Result<EncodedString<'a>, BufferError>
pub fn read_string(&mut self) -> Result<EncodedString<'a>, BufferError>
Reading UTF-8 encoded string from buffer
Sourcepub fn read_binary(&mut self) -> Result<BinaryData<'a>, BufferError>
pub fn read_binary(&mut self) -> Result<BinaryData<'a>, BufferError>
Read Binary data from buffer
Sourcepub fn read_string_pair(&mut self) -> Result<StringPair<'a>, BufferError>
pub fn read_string_pair(&mut self) -> Result<StringPair<'a>, BufferError>
Read string pair from buffer
Sourcepub fn read_message(&mut self, total_len: usize) -> &'a [u8] ⓘ
pub fn read_message(&mut self, total_len: usize) -> &'a [u8] ⓘ
Read payload message from buffer
Sourcepub fn peek_u8(&self) -> Result<u8, BufferError>
pub fn peek_u8(&self) -> Result<u8, BufferError>
Peeking (without incremental internal pointer) one byte from buffer as Big endian
Auto Trait Implementations§
impl<'a> Freeze for BuffReader<'a>
impl<'a> RefUnwindSafe for BuffReader<'a>
impl<'a> Send for BuffReader<'a>
impl<'a> Sync for BuffReader<'a>
impl<'a> Unpin for BuffReader<'a>
impl<'a> UnwindSafe for BuffReader<'a>
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more