Trait TryGetFixedSupport

Source
pub trait TryGetFixedSupport: Buf {
Show 18 methods // Provided methods fn try_get_u8(&mut self) -> VarIntResult<u8> { ... } fn try_get_u16(&mut self) -> VarIntResult<u16> { ... } fn try_get_u32(&mut self) -> VarIntResult<u32> { ... } fn try_get_u64(&mut self) -> VarIntResult<u64> { ... } fn try_get_u128(&mut self) -> VarIntResult<u128> { ... } fn try_get_u16_le(&mut self) -> VarIntResult<u16> { ... } fn try_get_u32_le(&mut self) -> VarIntResult<u32> { ... } fn try_get_u64_le(&mut self) -> VarIntResult<u64> { ... } fn try_get_u128_le(&mut self) -> VarIntResult<u128> { ... } fn try_get_i8(&mut self) -> VarIntResult<i8> { ... } fn try_get_i16(&mut self) -> VarIntResult<i16> { ... } fn try_get_i32(&mut self) -> VarIntResult<i32> { ... } fn try_get_i64(&mut self) -> VarIntResult<i64> { ... } fn try_get_i128(&mut self) -> VarIntResult<i128> { ... } fn try_get_i16_le(&mut self) -> VarIntResult<i16> { ... } fn try_get_i32_le(&mut self) -> VarIntResult<i32> { ... } fn try_get_i64_le(&mut self) -> VarIntResult<i64> { ... } fn try_get_i128_le(&mut self) -> VarIntResult<i128> { ... }
}
Expand description

When working with variable-length encodings for numbers, the buffers themselves become variable length, and it is impossible to check that they are long enough before decoding them. Fixed-length buffer layouts have obvious benefits, but if some protocol uses var-length encoding, buffer underflow can occur even when reading fixed-length numbers.

This trait provides functionality for decoding numbers using fixed-length encodings, but checking for buffer underflow.

Provided Methods§

Source

fn try_get_u8(&mut self) -> VarIntResult<u8>

Get a fixed-length encoded number, checking for buffer underflow.

Source

fn try_get_u16(&mut self) -> VarIntResult<u16>

Get a fixed-length encoded number, checking for buffer underflow.

Source

fn try_get_u32(&mut self) -> VarIntResult<u32>

Get a fixed-length encoded number, checking for buffer underflow.

Source

fn try_get_u64(&mut self) -> VarIntResult<u64>

Get a fixed-length encoded number, checking for buffer underflow.

Source

fn try_get_u128(&mut self) -> VarIntResult<u128>

Get a fixed-length encoded number, checking for buffer underflow.

Source

fn try_get_u16_le(&mut self) -> VarIntResult<u16>

Get a fixed-length encoded number, checking for buffer underflow.

Source

fn try_get_u32_le(&mut self) -> VarIntResult<u32>

Get a fixed-length encoded number, checking for buffer underflow.

Source

fn try_get_u64_le(&mut self) -> VarIntResult<u64>

Get a fixed-length encoded number, checking for buffer underflow.

Source

fn try_get_u128_le(&mut self) -> VarIntResult<u128>

Get a fixed-length encoded number, checking for buffer underflow.

Source

fn try_get_i8(&mut self) -> VarIntResult<i8>

Get a fixed-length encoded number, checking for buffer underflow.

Source

fn try_get_i16(&mut self) -> VarIntResult<i16>

Get a fixed-length encoded number, checking for buffer underflow.

Source

fn try_get_i32(&mut self) -> VarIntResult<i32>

Get a fixed-length encoded number, checking for buffer underflow.

Source

fn try_get_i64(&mut self) -> VarIntResult<i64>

Get a fixed-length encoded number, checking for buffer underflow.

Source

fn try_get_i128(&mut self) -> VarIntResult<i128>

Get a fixed-length encoded number, checking for buffer underflow.

Source

fn try_get_i16_le(&mut self) -> VarIntResult<i16>

Get a fixed-length encoded number, checking for buffer underflow.

Source

fn try_get_i32_le(&mut self) -> VarIntResult<i32>

Get a fixed-length encoded number, checking for buffer underflow.

Source

fn try_get_i64_le(&mut self) -> VarIntResult<i64>

Get a fixed-length encoded number, checking for buffer underflow.

Source

fn try_get_i128_le(&mut self) -> VarIntResult<i128>

Get a fixed-length encoded number, checking for buffer underflow.

Implementors§