#pragma once #include #include "defs.hpp" #include "outmessage.hpp" namespace net { class MsgProducer { public: MsgProducer() = default; void ResetMsg(); OutMessage BeginMsg(MessageType type = MSG_NONE); void DiscardMsg(); std::span GetMsg() const { return message_buf_; }; private: std::vector message_buf_; size_t msg_start_ = 0; }; }