NetworkBuffer now has a fixed header value of 8

Implemented NetworkMessage EncodeMessage
This commit is contained in:
xX-TheDoctor-Xx
2016-07-31 01:51:00 +01:00
parent bb6a2a25d3
commit e677fdeb59
2 changed files with 19 additions and 2 deletions

View File

@ -25,7 +25,24 @@ NetworkMessage::~NetworkMessage()
const NetworkBuffer &NetworkMessage::EncodeMessage(const NetworkMessage &message)
{
return NetworkBuffer();
NetworkBuffer net_buffer;
std::vector<byte> sender = Utility::BitConverter::FromUint16(message.sender);
std::vector<byte> distribution_mode = Utility::BitConverter::FromUint8(message.distribution_mode);
std::vector<byte> destination_id = Utility::BitConverter::FromUint16(message.destination_id);
std::vector<byte> tag = Utility::BitConverter::FromUint8(message.tag);
std::vector<byte> subject = Utility::BitConverter::FromUint16(message.subject);
std::vector<byte> data;
if (message.data != nullptr)
data = Serializer::to_bytes(message.data);
net_buffer.body.insert(net_buffer.body.end(), sender.begin(), sender.end());
net_buffer.body.insert(net_buffer.body.end(), distribution_mode.begin(), distribution_mode.end());
net_buffer.body.insert(net_buffer.body.end(), destination_id.begin(), destination_id.end());
net_buffer.body.insert(net_buffer.body.end(), tag.begin(), tag.end());
net_buffer.body.insert(net_buffer.body.end(), subject.begin(), subject.end());
if (message.data != nullptr && data.size() > 0)
net_buffer.body.insert(net_buffer.body.end(), data.begin(), data.end());
}
const NetworkMessage &NetworkMessage::DecodeMessage(const NetworkBuffer &buffer)