From 85e621f01adf84ee66e20f8b75c93be7b4940cb2 Mon Sep 17 00:00:00 2001 From: Shauren Date: Fri, 23 May 2025 14:41:39 +0200 Subject: Core/PacketIO: Remove ByteBuffer constructor from MessageBuffer --- src/common/Utilities/MessageBuffer.h | 32 +++++++++++--------------------- 1 file changed, 11 insertions(+), 21 deletions(-) (limited to 'src/common/Utilities/MessageBuffer.h') diff --git a/src/common/Utilities/MessageBuffer.h b/src/common/Utilities/MessageBuffer.h index 5ed67d01e9b..47c9bb5e8da 100644 --- a/src/common/Utilities/MessageBuffer.h +++ b/src/common/Utilities/MessageBuffer.h @@ -15,8 +15,8 @@ * with this program. If not, see . */ -#ifndef __MESSAGEBUFFER_H_ -#define __MESSAGEBUFFER_H_ +#ifndef TRINITYCORE_MESSAGE_BUFFER_H +#define TRINITYCORE_MESSAGE_BUFFER_H #include "Define.h" #include @@ -36,11 +36,11 @@ public: { } - MessageBuffer(MessageBuffer const& right) : _wpos(right._wpos), _rpos(right._rpos), _storage(right._storage) - { - } + MessageBuffer(MessageBuffer const& right) = default; - MessageBuffer(MessageBuffer&& right) noexcept : _wpos(right._wpos), _rpos(right._rpos), _storage(right.Move()) { } + MessageBuffer(MessageBuffer&& right) noexcept : _wpos(right._wpos), _rpos(right._rpos), _storage(std::move(right).Release()) { } + + ~MessageBuffer() = default; void Reset() { @@ -76,6 +76,7 @@ public: { if (_rpos != _wpos) memmove(GetBasePointer(), GetReadPointer(), GetActiveSize()); + _wpos -= _rpos; _rpos = 0; } @@ -98,24 +99,13 @@ public: } } - std::vector&& Move() + std::vector&& Release() && { - _wpos = 0; - _rpos = 0; + Reset(); return std::move(_storage); } - MessageBuffer& operator=(MessageBuffer const& right) - { - if (this != &right) - { - _wpos = right._wpos; - _rpos = right._rpos; - _storage = right._storage; - } - - return *this; - } + MessageBuffer& operator=(MessageBuffer const& right) = default; MessageBuffer& operator=(MessageBuffer&& right) noexcept { @@ -123,7 +113,7 @@ public: { _wpos = right._wpos; _rpos = right._rpos; - _storage = right.Move(); + _storage = std::move(right).Release(); } return *this; -- cgit v1.2.3