From aab4ab166de351e2c6e1c26a9d4001328e253ea9 Mon Sep 17 00:00:00 2001 From: Shauren Date: Fri, 15 Aug 2014 18:43:17 +0200 Subject: Core/Socket: Added helpers to retrieve the size of currently ready data --- src/server/shared/Networking/MessageBuffer.h | 6 ++++-- src/server/shared/Networking/Socket.h | 3 +++ 2 files changed, 7 insertions(+), 2 deletions(-) (limited to 'src/server/shared/Networking') diff --git a/src/server/shared/Networking/MessageBuffer.h b/src/server/shared/Networking/MessageBuffer.h index fff94b86c1e..c7f8ba31a71 100644 --- a/src/server/shared/Networking/MessageBuffer.h +++ b/src/server/shared/Networking/MessageBuffer.h @@ -40,6 +40,10 @@ public: bool IsMessageReady() const { return _wpos == _storage.size(); } + size_type GetSize() const { return _storage.size(); } + + size_type GetReadyDataSize() const { return _wpos; } + size_type GetMissingSize() const { return _storage.size() - _wpos; } uint8* Data() { return _storage.data(); } @@ -55,8 +59,6 @@ public: void ResetWritePointer() { _wpos = 0; } - size_type GetSize() { return _storage.size(); } - std::vector&& Move() { _wpos = 0; diff --git a/src/server/shared/Networking/Socket.h b/src/server/shared/Networking/Socket.h index c8bd5a1dd81..a13a079ff6c 100644 --- a/src/server/shared/Networking/Socket.h +++ b/src/server/shared/Networking/Socket.h @@ -146,6 +146,9 @@ public: uint8* GetHeaderBuffer() { return _readHeaderBuffer.Data(); } uint8* GetDataBuffer() { return _readDataBuffer.Data(); } + size_t GetHeaderSize() const { return _readHeaderBuffer.GetReadyDataSize(); } + size_t GetDataSize() const { return _readDataBuffer.GetReadyDataSize(); } + MessageBuffer&& MoveHeader() { return std::move(_readHeaderBuffer); } MessageBuffer&& MoveData() { return std::move(_readDataBuffer); } -- cgit v1.2.3