diff options
author | Shauren <shauren.trinity@gmail.com> | 2014-08-15 18:43:17 +0200 |
---|---|---|
committer | Shauren <shauren.trinity@gmail.com> | 2014-08-15 18:43:17 +0200 |
commit | aab4ab166de351e2c6e1c26a9d4001328e253ea9 (patch) | |
tree | 0c4be1bf3aec8b3a83d37b1d652698422513e9d1 | |
parent | 0d46ecd3c6510f62458d18b9f33c3d156be3a9fc (diff) |
Core/Socket: Added helpers to retrieve the size of currently ready data
-rw-r--r-- | src/server/shared/Networking/MessageBuffer.h | 6 | ||||
-rw-r--r-- | src/server/shared/Networking/Socket.h | 3 |
2 files changed, 7 insertions, 2 deletions
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<uint8>&& 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); } |