pub fn write_var_u64_to_buf(buf: &mut Vec<u8>, mut value: u64) {
loop {
let mut byte = (value & 0x7F) as u8;
value >>= 7;
if value != 0 {
byte |= 0x80;
}
buf.push(byte);
if value == 0 {
return;
}
}
}
pub fn write_var_u64_to_vec(value: u64) -> Vec<u8> {
let mut out = Vec::with_capacity(10);
write_var_u64_to_buf(&mut out, value);
out
}
pub fn write_var_u32_to_buf(buf: &mut Vec<u8>, value: u64) {
write_var_u64_to_buf(buf, value);
}
pub fn write_var_u32_to_vec(value: u64) -> Vec<u8> {
let mut out = Vec::with_capacity(10);
write_var_u32_to_buf(&mut out, value);
out
}