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

@ -14,7 +14,7 @@ struct NetworkBuffer
NetworkBuffer(); NetworkBuffer();
~NetworkBuffer(); ~NetworkBuffer();
std::vector<byte> header; // contains the size of the body std::vector<byte> header = Utility::BitConverter::FromUint32(8); // contains the size of the body
std::vector<byte> body; std::vector<byte> body;
}; };

View File

@ -25,7 +25,24 @@ NetworkMessage::~NetworkMessage()
const NetworkBuffer &NetworkMessage::EncodeMessage(const NetworkMessage &message) 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) const NetworkMessage &NetworkMessage::DecodeMessage(const NetworkBuffer &buffer)