aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorShauren <shauren.trinity@gmail.com>2014-08-15 18:43:17 +0200
committerShauren <shauren.trinity@gmail.com>2014-08-15 18:43:17 +0200
commitaab4ab166de351e2c6e1c26a9d4001328e253ea9 (patch)
tree0c4be1bf3aec8b3a83d37b1d652698422513e9d1
parent0d46ecd3c6510f62458d18b9f33c3d156be3a9fc (diff)
Core/Socket: Added helpers to retrieve the size of currently ready data
-rw-r--r--src/server/shared/Networking/MessageBuffer.h6
-rw-r--r--src/server/shared/Networking/Socket.h3
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); }