30enum class CustomMessageTypes : uint16_t;
63 (type.
value & 0x7FFF);
73 bool isCustom = raw & 0x8000;
74 uint16_t
value = raw & 0x7FFF;
132 std::memcpy(msg.
payload.data(), &data,
sizeof(T));
146 std::memcpy(&data, message.
payload.data(),
sizeof(T));
Message serialize_message(const T &data, MessageType type)
Serializes a plain-old-data structure into a Message.
Definition network_message.h:127
DefaultMessageTypes
Built-in protocol message types used for core connection events.
Definition network_message.h:14
T deserialize_message(const Message &message)
Deserializes a Message payload into a POD structure.
Definition network_message.h:144
Represents a complete network message including type and payload.
Definition network_message.h:105
MessageHeader header
Definition network_message.h:106
std::vector< uint8_t > payload
Definition network_message.h:107
Represents either a default or custom message identifier.
Definition network_message.h:40
static MessageType from_raw(uint16_t raw)
Restores a MessageType from a raw 16-bit value.
Definition network_message.h:72
uint16_t value
Definition network_message.h:44
MessageType(DefaultMessageTypes t)
Definition network_message.h:48
Kind
Definition network_message.h:41
static uint16_t to_raw(const MessageType &type)
Packs a MessageType into a 16-bit integer.
Definition network_message.h:61
MessageType(Kind kind, uint16_t t)
Definition network_message.h:54
Kind kind
Definition network_message.h:43
bool operator<(const MessageType &other) const
Strict ordering operator for use in associative containers.
Definition network_message.h:83
MessageType(CustomMessageTypes t)
Definition network_message.h:51
Definition network_message.h:110
Definition network_message.h:114