aboutsummaryrefslogtreecommitdiff
path: root/zencore/include
diff options
context:
space:
mode:
authorPer Larsson <[email protected]>2022-02-21 14:22:38 +0100
committerPer Larsson <[email protected]>2022-02-21 14:22:38 +0100
commitfd9f9086b3ddd0c38fa87d7e49f6341dacdcc125 (patch)
tree50be00e62f1e0d3a0521d08d5c7f00fe7787e014 /zencore/include
parentBasic websocket service and test. (diff)
downloadzen-fd9f9086b3ddd0c38fa87d7e49f6341dacdcc125.tar.xz
zen-fd9f9086b3ddd0c38fa87d7e49f6341dacdcc125.zip
Refactored websocket message.
Diffstat (limited to 'zencore/include')
-rw-r--r--zencore/include/zencore/stream.h48
1 files changed, 17 insertions, 31 deletions
diff --git a/zencore/include/zencore/stream.h b/zencore/include/zencore/stream.h
index 6d7e7d19f..54d7e1014 100644
--- a/zencore/include/zencore/stream.h
+++ b/zencore/include/zencore/stream.h
@@ -27,12 +27,29 @@ public:
m_Offset += ByteCount;
}
+ inline void Write(MemoryView Memory) { Write(Memory.GetData(), Memory.GetSize()); }
+
inline uint64_t CurrentOffset() const { return m_Offset; }
inline const uint8_t* Data() const { return m_Buffer.data(); }
inline const uint8_t* GetData() const { return m_Buffer.data(); }
inline uint64_t Size() const { return m_Buffer.size(); }
inline uint64_t GetSize() const { return m_Buffer.size(); }
+ void Reset();
+
+ inline MemoryView GetView(uint64_t Offset = 0) const
+ {
+ MemoryView View(m_Buffer.data(), m_Offset);
+ View.RightChopInline(Offset);
+ return View;
+ }
+
+ inline MutableMemoryView GetMutableView(uint64_t Offset = 0)
+ {
+ MutableMemoryView View(m_Buffer.data(), m_Offset);
+ View.RightChopInline(Offset);
+ return View;
+ }
private:
RwLock m_Lock;
@@ -49,37 +66,6 @@ MakeMemoryView(const BinaryWriter& Stream)
}
/**
- * Non thread-safe stream writer
- */
-
-class SimpleBinaryWriter
-{
- static constexpr uint32_t DefaultBlockSize = 64;
-
-public:
- SimpleBinaryWriter(uint32_t BlockSize = DefaultBlockSize) : m_BlockSize(BlockSize), m_Offset{0} {}
- ~SimpleBinaryWriter() = default;
-
- void Write(MemoryView Memory);
- void Write(const void* Data, size_t Size) { Write(MemoryView(Data, Size)); }
- void Clear();
-
- inline uint64_t CurrentOffset() const { return m_Offset; }
-
- inline const uint8_t* Data() const { return m_Buffer.data(); }
- inline const uint8_t* GetData() const { return m_Buffer.data(); }
- inline uint64_t Size() const { return m_Buffer.size(); }
- inline uint64_t GetSize() const { return m_Buffer.size(); }
-
- MemoryView GetView() const { return MemoryView(m_Buffer.data(), m_Offset); }
-
-private:
- std::vector<uint8_t> m_Buffer;
- uint64_t m_Offset;
- uint32_t m_BlockSize;
-};
-
-/**
* Binary stream reader
*/