//protocol_utils.cpp #include "protocol_utils.h" std::vector encodeVarint(int value) { std::vector varint; auto uValue = static_cast(value); do { unsigned char temp = uValue & 0x7FU; uValue >>= 7; if (uValue != 0) { temp |= 0x80; } varint.push_back(temp); } while (uValue != 0); return varint; } std::vector encodeString(const std::string &str) { std::vector data = encodeVarint(str.length()); (void) data.insert(data.end(), str.begin(), str.end()); return data; }