44 lines
1.2 KiB
C++
44 lines
1.2 KiB
C++
#include "ehs/io/socket/ehc/NetUtils.h"
|
|
|
|
namespace ehs
|
|
{
|
|
void WriteHeader(const Header &header, Serializer<UInt_64> &data)
|
|
{
|
|
data.WriteVersion(header.version);
|
|
data.Write(header.encId);
|
|
data.WriteVersion(header.encVer);
|
|
data.Write(header.channelId);
|
|
data.Write(header.channelType);
|
|
data.WriteVersion(header.channelVer);
|
|
data.Write(header.id);
|
|
data.Write(header.fragmentCount);
|
|
data.Write(header.fragment);
|
|
data.Write(header.ensure);
|
|
data.WriteArray(header.token, 64);
|
|
data.Write(header.systemId);
|
|
data.Write(header.opId);
|
|
}
|
|
|
|
Header ReadHeader(Serializer<UInt_64> &data)
|
|
{
|
|
Header header = {};
|
|
header.version = data.ReadVersion();
|
|
header.encId = data.Read<UInt_64>();
|
|
header.encVer = data.ReadVersion();
|
|
header.channelId = data.Read<UInt_64>();
|
|
header.channelType = data.Read<NetChannelType>();
|
|
header.channelVer = data.ReadVersion();
|
|
header.id = data.Read<UInt_64>();
|
|
header.fragmentCount = data.Read<UInt_64>();
|
|
header.fragment = data.Read<UInt_64>();
|
|
header.ensure = data.Read<bool>();
|
|
|
|
UInt_64 tokenSize = sizeof(header.token) / sizeof(Char_8);
|
|
data.ReadArray<Char_8, UInt_64>(header.token, &tokenSize);
|
|
|
|
header.systemId = data.Read<UInt_64>();
|
|
header.opId = data.Read<UInt_64>();
|
|
|
|
return header;
|
|
}
|
|
} |