From 87bb9700722e8319aa58484bba03e398dedede87 Mon Sep 17 00:00:00 2001 From: Per Larsson Date: Wed, 16 Feb 2022 12:32:27 +0100 Subject: Added websocket message parser. --- zencore/stream.cpp | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) (limited to 'zencore/stream.cpp') diff --git a/zencore/stream.cpp b/zencore/stream.cpp index aa9705764..361858b66 100644 --- a/zencore/stream.cpp +++ b/zencore/stream.cpp @@ -25,6 +25,30 @@ BinaryWriter::Write(const void* data, size_t ByteCount, uint64_t Offset) memcpy(m_Buffer.data() + Offset, data, ByteCount); } +void +SimpleBinaryWriter::Write(const void* Data, size_t Size) +{ + const size_t NeededSize = m_Offset + Size; + + if (NeededSize > m_Buffer.size()) + { + const size_t NewCapacity = RoundUp(NeededSize, m_BlockSize); + + m_Buffer.resize(NewCapacity); + } + + memcpy(m_Buffer.data() + m_Offset, Data, Size); + + m_Offset += Size; +} + +void +SimpleBinaryWriter::Clear() +{ + m_Buffer.clear(); + m_Offset = 0; +} + ////////////////////////////////////////////////////////////////////////// // // Testing related code follows... -- cgit v1.2.3 From 4b9bac3c5baf7633cd51cffcf8e63cb5527ddb36 Mon Sep 17 00:00:00 2001 From: Per Larsson Date: Fri, 18 Feb 2022 06:56:20 +0100 Subject: Simple websocket client/server test. --- zencore/stream.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'zencore/stream.cpp') diff --git a/zencore/stream.cpp b/zencore/stream.cpp index 361858b66..36953363f 100644 --- a/zencore/stream.cpp +++ b/zencore/stream.cpp @@ -26,9 +26,9 @@ BinaryWriter::Write(const void* data, size_t ByteCount, uint64_t Offset) } void -SimpleBinaryWriter::Write(const void* Data, size_t Size) +SimpleBinaryWriter::Write(MemoryView Memory) { - const size_t NeededSize = m_Offset + Size; + const uint64_t NeededSize = m_Offset + Memory.GetSize(); if (NeededSize > m_Buffer.size()) { @@ -37,9 +37,9 @@ SimpleBinaryWriter::Write(const void* Data, size_t Size) m_Buffer.resize(NewCapacity); } - memcpy(m_Buffer.data() + m_Offset, Data, Size); + memcpy(m_Buffer.data() + m_Offset, Memory.GetData(), Memory.GetSize()); - m_Offset += Size; + m_Offset += Memory.GetSize(); } void -- cgit v1.2.3 From fd9f9086b3ddd0c38fa87d7e49f6341dacdcc125 Mon Sep 17 00:00:00 2001 From: Per Larsson Date: Mon, 21 Feb 2022 14:22:38 +0100 Subject: Refactored websocket message. --- zencore/stream.cpp | 19 ++----------------- 1 file changed, 2 insertions(+), 17 deletions(-) (limited to 'zencore/stream.cpp') diff --git a/zencore/stream.cpp b/zencore/stream.cpp index 36953363f..8faf90af2 100644 --- a/zencore/stream.cpp +++ b/zencore/stream.cpp @@ -26,25 +26,10 @@ BinaryWriter::Write(const void* data, size_t ByteCount, uint64_t Offset) } void -SimpleBinaryWriter::Write(MemoryView Memory) +BinaryWriter::Reset() { - const uint64_t NeededSize = m_Offset + Memory.GetSize(); - - if (NeededSize > m_Buffer.size()) - { - const size_t NewCapacity = RoundUp(NeededSize, m_BlockSize); - - m_Buffer.resize(NewCapacity); - } - - memcpy(m_Buffer.data() + m_Offset, Memory.GetData(), Memory.GetSize()); - - m_Offset += Memory.GetSize(); -} + RwLock::ExclusiveLockScope _(m_Lock); -void -SimpleBinaryWriter::Clear() -{ m_Buffer.clear(); m_Offset = 0; } -- cgit v1.2.3