serialize id with VarInt
This commit is contained in:
@@ -20,7 +20,6 @@ class Stream {
|
||||
IOInterface<IOTag> m_Interface;
|
||||
|
||||
using MessageBase = typename MessageDispatcher::MessageBaseType;
|
||||
using MsgIdType = typename MessageBase::MsgIdType;
|
||||
|
||||
public:
|
||||
Stream() {}
|
||||
|
||||
@@ -8,7 +8,8 @@ template <typename IOTag, typename MessageDispatcher, typename MessageFactory>
|
||||
Stream<IOTag, MessageDispatcher, MessageFactory>::Stream(IOInterface<IOTag>&& a_Interface) : m_Interface(std::move(a_Interface)) {}
|
||||
|
||||
template <typename IOTag, typename MessageDispatcher, typename MessageFactory>
|
||||
Stream<IOTag, MessageDispatcher, MessageFactory>::Stream(Stream<IOTag, MessageDispatcher, MessageFactory>&& a_Stream) : m_Dispatcher(std::move(a_Stream.m_Dispatcher)), m_Interface(std::move(a_Stream.m_Interface)) {}
|
||||
Stream<IOTag, MessageDispatcher, MessageFactory>::Stream(Stream<IOTag, MessageDispatcher, MessageFactory>&& a_Stream) :
|
||||
m_Dispatcher(std::move(a_Stream.m_Dispatcher)), m_Interface(std::move(a_Stream.m_Interface)) {}
|
||||
|
||||
template <typename IOTag, typename MessageDispatcher, typename MessageFactory>
|
||||
void Stream<IOTag, MessageDispatcher, MessageFactory>::SendMessage(const MessageBase& a_Message) {
|
||||
@@ -59,12 +60,12 @@ void Stream<IOTag, MessageDispatcher, MessageFactory>::RecieveMessages() {
|
||||
|
||||
// TODO: process compress + encryption
|
||||
|
||||
MsgIdType packetType;
|
||||
VarInt packetType;
|
||||
buffer >> packetType;
|
||||
|
||||
static const MessageFactory messageFactory;
|
||||
|
||||
std::unique_ptr<MessageBase> message = messageFactory.CreateMessage(packetType);
|
||||
std::unique_ptr<MessageBase> message = messageFactory.CreateMessage(packetType.GetValue());
|
||||
|
||||
assert(message != nullptr);
|
||||
|
||||
|
||||
@@ -117,7 +117,7 @@ template <typename TBase>
|
||||
class MessageInterfaceWriteIdBase : public TBase {
|
||||
public:
|
||||
void Write(DataBuffer& buffer) const {
|
||||
this->WriteData(this->GetId(), buffer);
|
||||
buffer << VarInt{this->GetId()};
|
||||
this->WriteImpl(buffer);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user