TrinityCore
Loading...
Searching...
No Matches
MessageBuffer Class Reference

#include <MessageBuffer.h>

Public Member Functions

 MessageBuffer ()
 
 MessageBuffer (std::size_t initialSize)
 
 MessageBuffer (MessageBuffer const &right)=default
 
 MessageBuffer (MessageBuffer &&right) noexcept
 
 ~MessageBuffer ()=default
 
void Reset ()
 
void Resize (size_type bytes)
 
uint8 * GetBasePointer ()
 
uint8 * GetReadPointer ()
 
uint8 * GetWritePointer ()
 
void ReadCompleted (size_type bytes)
 
void WriteCompleted (size_type bytes)
 
size_type GetActiveSize () const
 
size_type GetRemainingSpace () const
 
size_type GetBufferSize () const
 
void Normalize ()
 
void EnsureFreeSpace ()
 
void Write (void const *data, std::size_t size)
 
std::vector< uint8 > && Release () &&
 
MessageBuffer & operator= (MessageBuffer const &right)=default
 
MessageBuffer & operator= (MessageBuffer &&right) noexcept
 

Private Types

typedef std::vector< uint8 >::size_type size_type
 

Private Attributes

size_type _wpos
 
size_type _rpos
 
std::vector< uint8 > _storage
 

Detailed Description

Definition at line 25 of file MessageBuffer.h.

Member Typedef Documentation

◆ size_type

typedef std::vector<uint8>::size_type MessageBuffer::size_type
private

Definition at line 27 of file MessageBuffer.h.

Constructor & Destructor Documentation

◆ MessageBuffer() [1/4]

MessageBuffer::MessageBuffer ( )
inline

Definition at line 30 of file MessageBuffer.h.

References _storage.

◆ MessageBuffer() [2/4]

MessageBuffer::MessageBuffer ( std::size_t  initialSize)
inlineexplicit

Definition at line 35 of file MessageBuffer.h.

◆ MessageBuffer() [3/4]

MessageBuffer::MessageBuffer ( MessageBuffer const &  right)
default

◆ MessageBuffer() [4/4]

MessageBuffer::MessageBuffer ( MessageBuffer &&  right)
inlinenoexcept

Definition at line 41 of file MessageBuffer.h.

◆ ~MessageBuffer()

MessageBuffer::~MessageBuffer ( )
default

Member Function Documentation

◆ EnsureFreeSpace()

void MessageBuffer::EnsureFreeSpace ( )
inline

Definition at line 86 of file MessageBuffer.h.

References _storage, and GetRemainingSpace().

Referenced by Trinity::Net::PrepareReadBuffer().

◆ GetActiveSize()

◆ GetBasePointer()

uint8 * MessageBuffer::GetBasePointer ( )
inline

◆ GetBufferSize()

size_type MessageBuffer::GetBufferSize ( ) const
inline

◆ GetReadPointer()

◆ GetRemainingSpace()

◆ GetWritePointer()

◆ Normalize()

void MessageBuffer::Normalize ( )
inline

Definition at line 73 of file MessageBuffer.h.

References _rpos, _wpos, GetActiveSize(), GetBasePointer(), and GetReadPointer().

Referenced by Trinity::Net::PrepareReadBuffer().

◆ operator=() [1/2]

MessageBuffer & MessageBuffer::operator= ( MessageBuffer &&  right)
inlinenoexcept

Definition at line 110 of file MessageBuffer.h.

References _rpos, _storage, and _wpos.

◆ operator=() [2/2]

MessageBuffer & MessageBuffer::operator= ( MessageBuffer const &  right)
default

◆ ReadCompleted()

◆ Release()

std::vector< uint8 > && MessageBuffer::Release ( ) &&
inline

Definition at line 102 of file MessageBuffer.h.

References _storage, and Reset().

◆ Reset()

void MessageBuffer::Reset ( )
inline

Definition at line 45 of file MessageBuffer.h.

References _rpos, and _wpos.

Referenced by WorldSocket::ReadHandler(), and Release().

◆ Resize()

◆ Write()

◆ WriteCompleted()

Member Data Documentation

◆ _rpos

size_type MessageBuffer::_rpos
private

◆ _storage

std::vector<uint8> MessageBuffer::_storage
private

◆ _wpos

size_type MessageBuffer::_wpos
private

The documentation for this class was generated from the following file: