Add basic network classes and message pooling

This commit is contained in:
Damian Korczowski
2021-03-07 23:50:04 +01:00
parent 4072796e54
commit 8f653fa699
11 changed files with 331 additions and 0 deletions

View File

@@ -0,0 +1,29 @@
// Copyright (c) 2012-2021 Wojciech Figat. All rights reserved.
#include "NetworkMessage.h"
void NetworkMessage::WriteBytes(uint8* bytes, const int numBytes)
{
ASSERT(Position + numBytes < BufferSize);
Platform::MemoryCopy(Buffer + Position, bytes, numBytes);
Position += numBytes;
}
void NetworkMessage::ReadBytes(uint8* bytes, const int numBytes)
{
ASSERT(Position + numBytes < BufferSize);
Platform::MemoryCopy(bytes, Buffer + Position, numBytes);
Position += numBytes;
}
void NetworkMessage::WriteUInt32(uint32 value)
{
WriteBytes(reinterpret_cast<uint8*>(&value), sizeof(uint32));
}
uint32 NetworkMessage::ReadUInt32()
{
uint32 value = 0;
ReadBytes(reinterpret_cast<uint8*>(&value), sizeof(uint32));
return value;
}