aboutsummaryrefslogtreecommitdiff
path: root/include/sibs/Message.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'include/sibs/Message.hpp')
-rw-r--r--include/sibs/Message.hpp30
1 files changed, 30 insertions, 0 deletions
diff --git a/include/sibs/Message.hpp b/include/sibs/Message.hpp
new file mode 100644
index 0000000..b6eb858
--- /dev/null
+++ b/include/sibs/Message.hpp
@@ -0,0 +1,30 @@
+#pragma once
+
+#include "../types.hpp"
+#include <vector>
+
+namespace sibs
+{
+ enum class MessageType : u8
+ {
+ NONE,
+ DATA,
+ SUBSCRIBE,
+ UNSUBSCRIBE
+ };
+
+ class Message
+ {
+ public:
+ Message(MessageType messageType);
+
+ void append(const void *data, const usize size);
+
+ usize getDataSize() const { return rawData.size() - 1; }
+ usize getRawSize() const { return rawData.size(); }
+
+ const u8* data() const { return rawData.data(); }
+ private:
+ std::vector<u8> rawData;
+ };
+} \ No newline at end of file