PacketHeader struct

Public static functions

static auto Serialize(uint8_t* outBuf, const PacketHeader& header, const uint8_t* payload) -> uint32_t
static auto Deserialize(const uint8_t* buf, uint32_t bufSize, PacketHeader& outHeader) -> const uint8_t*
Read header from buffer. Returns pointer to payload (buffer + sizeof(PacketHeader)).

Public functions

auto HasAck() const -> bool
auto HasTimestamp() const -> bool
auto ToString(char* buf, size_t sz) const -> const char*

Public variables

uint8_t Type
uint8_t Flags
uint16_t PayloadSize
uint32_t SequenceNum
uint32_t FrameNumber
uint8_t SenderID
uint8_t _Pad0
uint16_t Timestamp
uint32_t AckSequenceNum
uint32_t AckBitfield
uint32_t AckedClientFrame

Function documentation

static uint32_t PacketHeader::Serialize(uint8_t* outBuf, const PacketHeader& header, const uint8_t* payload)

Write header + payload into a flat buffer. Returns total bytes written. Buffer must be at least sizeof(PacketHeader) + PayloadSize bytes.

const char* PacketHeader::ToString(char* buf, size_t sz) const

Fill buf with a compact human-readable summary. Returns buf. Example: "InputFrame | sender=1 | seq=42 | frame=1024 | sz=12"