Files
VoidNet/include/NetworkMessage.hpp
xX-TheDoctor-Xx 6fa7872a6d Added Connection Codes
Private methods dont have capital letters and are words are separated by underscores
Added id's to TcpClient's class
Removed ptr from TcpClient and Server
Worked on TcpServer
Theres now a default server port
Added ReceiveMessage function to TcpClient to receive only 1 message
Fixed VoidNetClientAPI Receive function
2016-07-22 00:32:53 +01:00

38 lines
852 B
C++

#ifndef NETWORK_MESSAGE_HPP
#define NETWORK_MESSAGE_HPP
#ifdef _MSC_VER
#pragma once
#endif
#include "Defs.hpp"
#include "NetworkBuffer.hpp"
struct NetworkMessage
{
NetworkMessage();
NetworkMessage(const NetworkBuffer &buffer);
NetworkMessage(uint16 sender, byte distribution_mode, uint16 destination_id, byte tag, uint16 subject, NetworkBuffer buffer);
~NetworkMessage();
static const NetworkBuffer &EncodeMessage(const NetworkMessage &message);
const NetworkMessage &NetworkMessage::DecodeMessage(const NetworkBuffer &buffer);
uint16 sender = -2;
byte distribution_mode;
uint16 destination_id;
byte tag;
uint16 subject;
void *data;
bool valid = false;
private:
const NetworkMessage &decode_message_header(const NetworkBuffer &buffer);
void *decode_message_data(const NetworkBuffer &buffer);
NetworkBuffer buffer;
};
#endif