#pragma once #include "Protocol.h" namespace Proto { // ´ó¶Ë¹¤¾ß void put_u16(std::vector& v, uint16_t x); void put_u32(std::vector& v, uint32_t x); void put_u64(std::vector& v, uint64_t x); uint16_t get_u16(const uint8_t* p); uint32_t get_u32(const uint8_t* p); uint64_t get_u64(const uint8_t* p); void put_f64_be(std::vector& v, double d); double get_f64_be(const uint8_t* p); // °ïÖú£ºpeek cmd uint16_t peek_cmd(const std::vector& frame); // ±àÂ루¹¹Ö¡£ºÍ· + dataId + len + body + ⣩ std::vector encodeRequestVersion(const ReqVersion& req); std::vector encodeResponseVersion(const RspVersion& rsp); std::vector encodeRequestMachines(const ReqMachines& req); std::vector encodeResponseMachines(const RspMachines& rsp); std::vector encodeRequestStats(const ReqStats& req); std::vector encodeResponseStats(const RspStats& rsp); std::vector encodeRequestSince(const ReqSince& req); std::vector encodeResponseSince(const RspSince& rsp); std::vector encodeRequestSinceAll(const ReqSinceAll& req); std::vector encodeResponseSinceAll(const RspSinceAll& rsp); std::vector encodeRequestBatchInfo(const ReqBatchInfo& req); std::vector encodeResponseBatchInfo(const RspBatchInfo& rsp); // ½âÂë bool decodeRequestVersion(const std::vector& frame, ReqVersion& out); bool decodeResponseVersion(const std::vector& frame, RspVersion& out); bool decodeRequestMachines(const std::vector& frame, ReqMachines& out); bool decodeResponseMachines(const std::vector& frame, RspMachines& out); bool decodeRequestStats(const std::vector& frame, ReqStats& out); bool decodeResponseStats(const std::vector& frame, RspStats& out); bool decodeRequestSince(const std::vector& frame, ReqSince& out); bool decodeResponseSince(const std::vector& frame, RspSince& out); bool decodeRequestSinceAll(const std::vector& frame, ReqSinceAll& out); bool decodeResponseSinceAll(const std::vector& frame, RspSinceAll& out); bool decodeRequestBatchInfo(const std::vector& frame, ReqBatchInfo& out); bool decodeResponseBatchInfo(const std::vector& frame, RspBatchInfo& out); std::vector encodeResponseError(const RspError& rsp); bool decodeResponseError(const std::vector& frame, RspError& out); } // namespace Proto