File RawNetMessage.h
File List > engine > include > RawNetMessage.h
Go to the documentation of this file
#ifndef RAWNETMESSAGE_H
#define RAWNETMESSAGE_H
#include "IntTypes.h"
enum NetRawMessageType
{
UnreliableDataMessageComplete,
ReliableDataMessageComplete,
ReliableDataMessageFragment,
ReliableDataMessageAck,
};
struct NetReliableMessageHeader
{
u32 messageIdentifier;
};
struct NetFragmentMessageHeader
{
u32 fragmentedMsgID;
u32 fragmentedMsgTotalSize;
u16 numFragments;
u16 sequenceNum;
};
void NetMsg_Parse(u8* data, enum NetRawMessageType* pOutType, u8** outBody);
struct NetReliableMessageHeader* NetMsg_GetReliableHeader(u8* data);
struct NetFragmentMessageHeader* NetMsg_GetFragmentHeader(u8* data);
u32 NetMsg_GetAckedIdentifier(u8* data);
int NetMsg_WriteUnreliableCompleteDataPacket(u8* dataOut, u8* dataIn, int dataSize);
u32 NetMsg_GetReliableMessageIdentifier();
int NetMsg_WriteReliableCompleteDataPacket(u8* dataOut, u8* dataIn, int dataSize, u32 messageIdentifier);
int NetMsg_WriteReliableFragmentDataPacket(u8* dataOut, u8* dataIn, int dataSize, u16 numFragments, u16 sequenceNumber, u32 messageIdentifier, u32 fragmentedMsgID, u32 fragmentedMsgTotalSize);
int NetMsg_WriteReliableDataAckPacket(u8* dataOut, u32 messageIdentifier);
int NetMsg_SizeOfHeaders(enum NetRawMessageType msgType);
#endif