add BitField
All checks were successful
Linux arm64 / Build (push) Successful in 15s

This commit is contained in:
2025-06-30 12:08:16 +02:00
parent 6c24280690
commit 6f667deece
3 changed files with 84 additions and 8 deletions

View File

@@ -4,6 +4,7 @@
#include <sp/protocol/MessageHandler.h>
#include <sp/io/MessageStream.h>
#include <sp/io/StdIo.h>
#include <sp/protocol/BitField.h>
#include <sp/extensions/Compress.h>
@@ -21,8 +22,8 @@ template <typename TData, PacketID ID>
using Message = sp::ConcreteMessage<TData, PacketID, ID, PacketHandler>;
struct KeepAlivePacket {
std::uint64_t m_KeepAlive;
std::string mdc;
sp::BitField<std::uint16_t, 12> one;
sp::BitField<std::uint16_t, 4> two;
};
using KeepAliveMessage = Message<KeepAlivePacket, PacketID::KeepAlive>;
@@ -34,7 +35,7 @@ class PacketHandler : public sp::MessageHandler<AllMessages> {};
class MyHandler : public PacketHandler {
public:
virtual void Handle(const KeepAlivePacket& msg) {
std::cout << "I recieved a keep alive : " << msg.m_KeepAlive << " : " << msg.mdc << "\n";
std::cout << "I recieved a keep alive : " << *msg.one << " : " << *msg.two << "\n";
}
};
@@ -45,7 +46,7 @@ using PacketFactory = sp::MessageFactory<PacketBase, AllMessages>;
using PacketStream = sp::MessageStream<PacketFactory>;
int main() {
KeepAliveMessage m{69UL, "ceci est une mdc aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"};
KeepAliveMessage m{69, 5};
// dispatch tests
@@ -79,6 +80,8 @@ int main() {
d.Dispatch(*message2);
// Todo : verify bitfields
// message->Write(file);
// file << std::endl;
// m.Write(file);