| 14 | } |
| 15 | |
| 16 | size_t EncodeVarint(uint8_t* buf, uint64_t value) { |
| 17 | size_t i = 0; |
| 18 | do { |
| 19 | buf[i] = value & 0x7F; |
| 20 | value >>= 7; |
| 21 | if (value) buf[i] |= 0x80; |
| 22 | ++i; |
| 23 | } while (value); |
| 24 | return i; |
| 25 | } |
| 26 | |
| 27 | std::vector<Field> Parse(const uint8_t* buf, size_t bufLen) { |
| 28 | std::vector<Field> fields; |