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§
Sourcefn try_get_u8(&mut self) -> VarIntResult<u8>
fn try_get_u8(&mut self) -> VarIntResult<u8>
Get a fixed-length encoded number, checking for buffer underflow.
Sourcefn try_get_u16(&mut self) -> VarIntResult<u16>
fn try_get_u16(&mut self) -> VarIntResult<u16>
Get a fixed-length encoded number, checking for buffer underflow.
Sourcefn try_get_u32(&mut self) -> VarIntResult<u32>
fn try_get_u32(&mut self) -> VarIntResult<u32>
Get a fixed-length encoded number, checking for buffer underflow.
Sourcefn try_get_u64(&mut self) -> VarIntResult<u64>
fn try_get_u64(&mut self) -> VarIntResult<u64>
Get a fixed-length encoded number, checking for buffer underflow.
Sourcefn try_get_u128(&mut self) -> VarIntResult<u128>
fn try_get_u128(&mut self) -> VarIntResult<u128>
Get a fixed-length encoded number, checking for buffer underflow.
Sourcefn try_get_u16_le(&mut self) -> VarIntResult<u16>
fn try_get_u16_le(&mut self) -> VarIntResult<u16>
Get a fixed-length encoded number, checking for buffer underflow.
Sourcefn try_get_u32_le(&mut self) -> VarIntResult<u32>
fn try_get_u32_le(&mut self) -> VarIntResult<u32>
Get a fixed-length encoded number, checking for buffer underflow.
Sourcefn try_get_u64_le(&mut self) -> VarIntResult<u64>
fn try_get_u64_le(&mut self) -> VarIntResult<u64>
Get a fixed-length encoded number, checking for buffer underflow.
Sourcefn try_get_u128_le(&mut self) -> VarIntResult<u128>
fn try_get_u128_le(&mut self) -> VarIntResult<u128>
Get a fixed-length encoded number, checking for buffer underflow.
Sourcefn try_get_i8(&mut self) -> VarIntResult<i8>
fn try_get_i8(&mut self) -> VarIntResult<i8>
Get a fixed-length encoded number, checking for buffer underflow.
Sourcefn try_get_i16(&mut self) -> VarIntResult<i16>
fn try_get_i16(&mut self) -> VarIntResult<i16>
Get a fixed-length encoded number, checking for buffer underflow.
Sourcefn try_get_i32(&mut self) -> VarIntResult<i32>
fn try_get_i32(&mut self) -> VarIntResult<i32>
Get a fixed-length encoded number, checking for buffer underflow.
Sourcefn try_get_i64(&mut self) -> VarIntResult<i64>
fn try_get_i64(&mut self) -> VarIntResult<i64>
Get a fixed-length encoded number, checking for buffer underflow.
Sourcefn try_get_i128(&mut self) -> VarIntResult<i128>
fn try_get_i128(&mut self) -> VarIntResult<i128>
Get a fixed-length encoded number, checking for buffer underflow.
Sourcefn try_get_i16_le(&mut self) -> VarIntResult<i16>
fn try_get_i16_le(&mut self) -> VarIntResult<i16>
Get a fixed-length encoded number, checking for buffer underflow.
Sourcefn try_get_i32_le(&mut self) -> VarIntResult<i32>
fn try_get_i32_le(&mut self) -> VarIntResult<i32>
Get a fixed-length encoded number, checking for buffer underflow.
Sourcefn try_get_i64_le(&mut self) -> VarIntResult<i64>
fn try_get_i64_le(&mut self) -> VarIntResult<i64>
Get a fixed-length encoded number, checking for buffer underflow.
Sourcefn try_get_i128_le(&mut self) -> VarIntResult<i128>
fn try_get_i128_le(&mut self) -> VarIntResult<i128>
Get a fixed-length encoded number, checking for buffer underflow.