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)
Fields§
§position: usize
Implementations§
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