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

#include <MessageBuffer.h>

Public Member Functions

 MessageBuffer ()
 
 MessageBuffer (std::size_t initialSize)
 
 MessageBuffer (MessageBuffer const &right)
 
 MessageBuffer (MessageBuffer &&right)
 
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 > && Move ()
 
MessageBuffer & operator= (MessageBuffer const &right)
 
MessageBuffer & operator= (MessageBuffer &&right)
 

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.

References _storage.

◆ MessageBuffer() [3/4]

MessageBuffer::MessageBuffer ( MessageBuffer const &  right)
inline

Definition at line 40 of file MessageBuffer.h.

◆ MessageBuffer() [4/4]

MessageBuffer::MessageBuffer ( MessageBuffer &&  right)
inline

Definition at line 44 of file MessageBuffer.h.

Member Function Documentation

◆ EnsureFreeSpace()

void MessageBuffer::EnsureFreeSpace ( )
inline

Definition at line 86 of file MessageBuffer.h.

References _storage, and GetRemainingSpace().

Referenced by Trinity::Net::Socket< Stream >::AsyncRead().

◆ GetActiveSize()

◆ GetBasePointer()

uint8 * MessageBuffer::GetBasePointer ( )
inline

Definition at line 57 of file MessageBuffer.h.

References _storage.

Referenced by GetReadPointer(), GetWritePointer(), and Normalize().

◆ GetBufferSize()

size_type MessageBuffer::GetBufferSize ( ) const
inline

Definition at line 71 of file MessageBuffer.h.

References _storage.

◆ GetReadPointer()

◆ GetRemainingSpace()

size_type MessageBuffer::GetRemainingSpace ( ) const
inline

◆ GetWritePointer()

uint8 * MessageBuffer::GetWritePointer ( )
inline

Definition at line 61 of file MessageBuffer.h.

References _wpos, and GetBasePointer().

Referenced by Trinity::Net::Socket< Stream >::AsyncRead(), and Write().

◆ Move()

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

Definition at line 102 of file MessageBuffer.h.

References _rpos, _storage, and _wpos.

◆ Normalize()

void MessageBuffer::Normalize ( )
inline

◆ operator=() [1/2]

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

Definition at line 121 of file MessageBuffer.h.

References _rpos, _storage, and _wpos.

◆ operator=() [2/2]

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

Definition at line 109 of file MessageBuffer.h.

References _rpos, _storage, and _wpos.

◆ ReadCompleted()

void MessageBuffer::ReadCompleted ( size_type  bytes)
inline

◆ Reset()

void MessageBuffer::Reset ( )
inline

Definition at line 46 of file MessageBuffer.h.

References _rpos, and _wpos.

Referenced by WorldSocket::ReadHandler().

◆ Resize()

void MessageBuffer::Resize ( size_type  bytes)
inline

◆ Write()

void MessageBuffer::Write ( void const *  data,
std::size_t  size 
)
inline

◆ WriteCompleted()

void MessageBuffer::WriteCompleted ( size_type  bytes)
inline

Definition at line 65 of file MessageBuffer.h.

References _wpos.

Referenced by Trinity::Net::Socket< Stream >::ReadHandlerInternal(), and Write().

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: