#pragma once #include #include #include #include "behavior/events/types.hpp" namespace drp::packet::base { // The maximum length of a packet. Cannot be larger than 65565 (uint16 max). constexpr std::uint16_t maxPacketLength = std::numeric_limits::max(); /** * The content of a generic packet. * @param eventType the type of event that the packet want to trigger. * @param data the data of the event. */ class PacketContent { public: PacketContent(); PacketContent(event::EventType eventType, const std::vector& data); [[nodiscard]] std::vector serialize() const; static PacketContent deserialize(std::vector& data); event::EventType eventType {}; std::vector data; }; }