NetworkBuffer now has a fixed header value of 8
Implemented NetworkMessage EncodeMessage
This commit is contained in:
		| @ -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; | ||||||
| }; | }; | ||||||
|  |  | ||||||
|  | |||||||
| @ -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) | ||||||
|  | |||||||
		Reference in New Issue
	
	Block a user
	 xX-TheDoctor-Xx
					xX-TheDoctor-Xx