Serialization test.

This commit is contained in:
2025-01-23 15:10:42 -05:00
parent 0e8f6600a0
commit 4909052c4d

View File

@@ -33,8 +33,6 @@ using namespace std::chrono_literals;
bool server_running = true;
bool client_running = true;
void RunServer() {
std::cout << "Starting server thread." << std::endl;
@@ -112,6 +110,59 @@ void RunClient() {
std::cout << "Client closing." << std::endl;
}
using namespace CaveGame::Core;
struct Header
{
std::string watermark = "RCG25";
void Write(Buffer& buffer)
{
write_string(buffer, watermark);
}
void Read(Buffer& buffer)
{
watermark = read_string(buffer);
}
};
class Packet
{
public:
Header header;
virtual void Write(Buffer& buffer)
{
header.Write(buffer);
}
virtual void Read(Buffer& buffer)
{
header.Read(buffer);
}
};
class ChatPacket : public Packet
{
public:
std::string sender;
std::string message;
void Read(CaveGame::Core::Buffer &buffer) override
{
Packet::Read(buffer);
write_string(buffer, sender);
write_string(buffer, message);
}
void Write(CaveGame::Core::Buffer &buffer) override
{
Packet::Write(buffer);
sender = read_string(buffer);
message = read_string(buffer);
}
};
void roundtrip_test()
{
using namespace CaveGame::Core;
@@ -119,30 +170,38 @@ void roundtrip_test()
uint8_t a = 128;
uint16_t b = 32000;
uint32_t c = 666420;
uint64_t d = 42069666;
int8_t d = -64;
float e = 3.14159f;
int8_t e = -64;
float f = 3.14159f;
std::string tetsuo = "Tetsuo!.!.!..!!..!!";
Buffer test;
test.index = 0;
test.size = 32;
//test.data = ;
test.size = 512;
test.data = new uint8_t[512];
write_u8(test, a);
write_u8(test, 12);
write_u16(test, b);
write_u32(test, c);
write_s8(test, d);
write_f32(test, e);
write_u64(test, d);
write_s8(test, e);
write_f32(test, f);
write_string(test, tetsuo);
test.index = 0;
a = read_u8(test);
a = read_u8(test);
b = read_u16(test);
c = read_u32(test);
d = read_s8(test);
e = read_f32(test);
d = read_u64(test);
e = read_s8(test);
f = read_f32(test);
tetsuo = read_string(test);
std::cout << tetsuo << std::endl;
}