inline int pack_body(uint8_t* dest, int dest_len) const { if (dest_len < body_size()) { return -1; } write64be(id, dest); dest += 8; write64be(seq, dest); dest += 8; write64be(round, dest); return 0; }
void write64(bool be,void *p,uint64_t d) { if (be) write64be(p,d); else write64le(p,d); }
inline int pack_body(uint8_t* dest, int dest_len) { if (dest_len < 8) { return -1; } write64be(id, dest); return 0; }
inline int pack_body(uint8_t* dest, int dest_len) const { if (dest_len < body_size()) { return -1; } write64be(id, dest); dest += 8; write64be(seq, dest); dest += 8; write64be(round, dest); dest += 8; write64be(next, dest); dest += 8; write32be(next_content.size(), dest); dest += 4; memcpy(dest, next_content.c_str(), next_content.size()); return 0; }
inline int pack_body(uint8_t* dest, int dest_len) const { if (dest_len < body_size()) { return -1; } write64be(id, dest); dest += 8; write16be(address.size(), dest); dest += 2; memcpy(dest, address.c_str(), address.size()); return 0; }