Crate vartyint

Source
Expand description

Read & Write varint to/from bytes

§Writing bytes

use vartyint;
let mut my_bytes = Vec::new();
vartyint::write_i32(1000, &mut my_bytes);
assert_eq!(my_bytes, &[0xd0, 0x0f]);

§Reading

Read an integer from a slice of bytes (&[u8]). Upon success, the number, as well as the rest of the bytes is returned. You can “pop off” numbers like this.

use vartyint;
let my_bytes = vec![0x18, 0x01, 0xBF, 0xBB, 0x01];

let (num1, my_bytes) = vartyint::read_i32(&my_bytes).unwrap();
assert_eq!(num1, 12);
assert_eq!(my_bytes, &[0x01, 0xBF, 0xBB, 0x01]);

let (num2, my_bytes) = vartyint::read_i32(&my_bytes).unwrap();
assert_eq!(num2, -1);
assert_eq!(my_bytes, &[0xBF, 0xBB, 0x01]);

let (num3, my_bytes) = vartyint::read_i32(&my_bytes).unwrap();
assert_eq!(num3, -12_000);
assert_eq!(my_bytes, &[]);

// Can't read any more
assert_eq!(vartyint::read_i32(&my_bytes), Err(vartyint::VartyIntError::EmptyBuffer));

Enums§

VartyIntError
Error type
VartyIntReadError

Traits§

VarInt

Functions§

read_i8
Read an integer from this buffer
read_i16
Read an integer from this buffer
read_i32
Read an integer from this buffer
read_i64
Read an integer from this buffer
read_i128
Read an integer from this buffer
read_isize
Read an integer from this buffer
read_many
read_many_delta
read_many_delta_new
read_u8
Read an integer from this buffer
read_u16
Read an integer from this buffer
read_u32
Read an integer from this buffer
read_u64
Read an integer from this buffer
read_u128
Read an integer from this buffer
read_usize
Read an integer from this buffer
write_i8
Write an integer to this buffer
write_i16
Write an integer to this buffer
write_i32
Write an integer to this buffer
write_i64
Write an integer to this buffer
write_i128
Write an integer to this buffer
write_isize
Write an integer to this buffer
write_many
write_many_delta
write_many_delta_new
write_many_new
write_u8
Write an integer to this buffer
write_u16
Write an integer to this buffer
write_u32
Write an integer to this buffer
write_u64
Write an integer to this buffer
write_u128
Write an integer to this buffer
write_usize
Write an integer to this buffer