feat: add support for all endianesses

This commit is contained in:
2025-02-08 13:44:04 +01:00
parent 5e89531508
commit 06d69fb976
2 changed files with 99 additions and 4 deletions

View File

@@ -1,6 +1,7 @@
#pragma once
#include <sp/protocol/Options.h>
#include <sp/common/ByteSwapping.h>
namespace sp {
namespace details {
@@ -83,13 +84,13 @@ class MessageInterfaceBigEndian : public TBase {
protected:
template <typename T>
void ReadData(T& value, DataBuffer& buffer) {
//TODO: use big endian
buffer >> value;
FromNetwork(value);
}
template <typename T>
void WriteData(T value, DataBuffer& buffer) {
//TODO: use big endian
ToNetwork(value);
buffer << value;
}
};
@@ -100,13 +101,15 @@ class MessageInterfaceLittleEndian : public TBase {
protected:
template <typename T>
void ReadData(T& value, DataBuffer& buffer) {
//TODO: use little endian
buffer >> value;
TrySwapBytes(value);
FromNetwork(value);
}
template <typename T>
void WriteData(const T& value, DataBuffer& buffer) {
//TODO: use little endian
ToNetwork(value);
TrySwapBytes(value);
buffer << value;
}
};