#include "serialize.h" namespace yunq { namespace { const uint64_t kIdentByte = 0x33441122; } // namespace glcr::Status CheckHeader(const glcr::ByteBuffer& buffer, uint64_t offset) { if (buffer.At(offset + 0) != kIdentByte) { return glcr::InvalidArgument("Trying to parse an invalid yunq message."); } // TODO: Parse core size. // TODO: Parse extension size. // TODO: Check CRC32 // TODO: Parse options. return glcr::Status::Ok(); } void WriteHeader(glcr::ByteBuffer& bytes, uint64_t offset, uint32_t core_size, uint32_t extension_size) { bytes.WriteAt(offset + 0, kIdentByte); bytes.WriteAt(offset + 4, core_size); bytes.WriteAt(offset + 8, extension_size); bytes.WriteAt(offset + 12, 0); // TODO: Calculate CRC32. } } // namespace yunq