aboutsummaryrefslogtreecommitdiff
path: root/zenhttp/include
diff options
context:
space:
mode:
authorPer Larsson <[email protected]>2022-02-16 12:32:27 +0100
committerPer Larsson <[email protected]>2022-02-16 12:32:27 +0100
commit87bb9700722e8319aa58484bba03e398dedede87 (patch)
tree1a82ce932f0a729f48bf8472d5f88fa897679a8f /zenhttp/include
parentRenamed asio web socket impl. (diff)
downloadzen-87bb9700722e8319aa58484bba03e398dedede87.tar.xz
zen-87bb9700722e8319aa58484bba03e398dedede87.zip
Added websocket message parser.
Diffstat (limited to 'zenhttp/include')
-rw-r--r--zenhttp/include/zenhttp/websocketserver.h15
1 files changed, 15 insertions, 0 deletions
diff --git a/zenhttp/include/zenhttp/websocketserver.h b/zenhttp/include/zenhttp/websocketserver.h
index 309119d2a..336d0bde5 100644
--- a/zenhttp/include/zenhttp/websocketserver.h
+++ b/zenhttp/include/zenhttp/websocketserver.h
@@ -1,5 +1,7 @@
// Copyright Epic Games, Inc. All Rights Reserved.
+#include <zencore/memory.h>
+
#include <memory>
namespace zen {
@@ -21,4 +23,17 @@ public:
static std::unique_ptr<WebSocketServer> Create();
};
+struct WebSocketMessageHeader
+{
+ static constexpr uint32_t ExpectedMagic = 0x7a776d68; // zwmh
+
+ uint32_t Magic{};
+ uint64_t ContentLength{};
+ uint32_t Crc32{};
+
+ bool IsValid() const;
+
+ static bool Read(MemoryView Memory, WebSocketMessageHeader& OutHeader);
+};
+
} // namespace zen