Write a big-endian varint with the start marker (0x80) on the first byte.
(data: &mut Vec<u8>, val: u32)
| 55 | |
| 56 | /// Write a big-endian varint with the start marker (0x80) on the first byte. |
| 57 | pub fn write_varint_with_start(data: &mut Vec<u8>, val: u32) { |
| 58 | let start_pos = data.len(); |
| 59 | write_varint_be(data, val); |
| 60 | if let Some(first) = data.get_mut(start_pos) { |
| 61 | *first |= 0x80; |
| 62 | } |
| 63 | } |
| 64 | |
| 65 | /// Read a big-endian varint with start marker (0x80). |
| 66 | pub fn read_varint_with_start(data: &[u8], pos: &mut usize) -> Option<u32> { |