xrootd
Public Member Functions | Private Attributes | List of all members
XrdCl::Buffer Class Reference

Binary blob representation. More...

#include <XrdClBuffer.hh>

Inheritance diagram for XrdCl::Buffer:
Inheritance graph
[legend]

Public Member Functions

 Buffer (uint32_t size=0)
 Constructor. More...
 
virtual ~Buffer ()
 Destructor. More...
 
const char * GetBuffer (uint32_t offset=0) const
 Get the message buffer. More...
 
char * GetBuffer (uint32_t offset=0)
 Get the message buffer. More...
 
void ReAllocate (uint32_t size)
 Reallocate the buffer to a new location of a given size. More...
 
void Free ()
 Free the buffer. More...
 
void Allocate (uint32_t size)
 Allocate the buffer. More...
 
void Zero ()
 Zero. More...
 
uint32_t GetSize () const
 Get the size of the message. More...
 
uint32_t GetCursor () const
 Get append cursor. More...
 
void SetCursor (uint32_t cursor)
 Set the cursor. More...
 
void AdvanceCursor (uint32_t delta)
 Advance the cursor. More...
 
void Append (const char *buffer, uint32_t size)
 Append data at the position pointed to by the append cursor. More...
 
void Append (const char *buffer, uint32_t size, uint32_t offset)
 Append data at the given offset. More...
 
char * GetBufferAtCursor ()
 Get the buffer pointer at the append cursor. More...
 
const char * GetBufferAtCursor () const
 Get the buffer pointer at the append cursor. More...
 
void FromString (const std::string str)
 Fill the buffer from a string. More...
 
std::string ToString () const
 Convert the buffer to a string. More...
 
void Grab (char *buffer, uint32_t size)
 Grab a buffer allocated outside. More...
 
char * Release ()
 Release the buffer. More...
 

Private Attributes

char * pBuffer
 
uint32_t pSize
 
uint32_t pCursor
 

Detailed Description

Binary blob representation.

Constructor & Destructor Documentation

XrdCl::Buffer::Buffer ( uint32_t  size = 0)
inline

Constructor.

References Allocate().

virtual XrdCl::Buffer::~Buffer ( )
inlinevirtual

Destructor.

References Free().

Member Function Documentation

void XrdCl::Buffer::AdvanceCursor ( uint32_t  delta)
inline

Advance the cursor.

References pCursor.

void XrdCl::Buffer::Allocate ( uint32_t  size)
inline

Allocate the buffer.

References pBuffer, and pSize.

Referenced by Buffer().

void XrdCl::Buffer::Append ( const char *  buffer,
uint32_t  size 
)
inline

Append data at the position pointed to by the append cursor.

References pBuffer, pCursor, pSize, and ReAllocate().

void XrdCl::Buffer::Append ( const char *  buffer,
uint32_t  size,
uint32_t  offset 
)
inline

Append data at the given offset.

References pBuffer, pSize, and ReAllocate().

void XrdCl::Buffer::Free ( )
inline

Free the buffer.

References pBuffer, pCursor, and pSize.

Referenced by Grab(), and ~Buffer().

void XrdCl::Buffer::FromString ( const std::string  str)
inline

Fill the buffer from a string.

References pBuffer, and ReAllocate().

const char* XrdCl::Buffer::GetBuffer ( uint32_t  offset = 0) const
inline

Get the message buffer.

References pBuffer.

Referenced by GetBufferAtCursor().

char* XrdCl::Buffer::GetBuffer ( uint32_t  offset = 0)
inline

Get the message buffer.

References pBuffer.

char* XrdCl::Buffer::GetBufferAtCursor ( )
inline

Get the buffer pointer at the append cursor.

References GetBuffer(), and pCursor.

const char* XrdCl::Buffer::GetBufferAtCursor ( ) const
inline

Get the buffer pointer at the append cursor.

References GetBuffer(), and pCursor.

uint32_t XrdCl::Buffer::GetCursor ( ) const
inline

Get append cursor.

References pCursor.

uint32_t XrdCl::Buffer::GetSize ( ) const
inline

Get the size of the message.

References pSize.

void XrdCl::Buffer::Grab ( char *  buffer,
uint32_t  size 
)
inline

Grab a buffer allocated outside.

References Free(), pBuffer, and pSize.

void XrdCl::Buffer::ReAllocate ( uint32_t  size)
inline

Reallocate the buffer to a new location of a given size.

References pBuffer, and pSize.

Referenced by Append(), and FromString().

char* XrdCl::Buffer::Release ( )
inline

Release the buffer.

References pBuffer, pCursor, and pSize.

void XrdCl::Buffer::SetCursor ( uint32_t  cursor)
inline

Set the cursor.

References pCursor.

std::string XrdCl::Buffer::ToString ( ) const
inline

Convert the buffer to a string.

References pBuffer, and pSize.

void XrdCl::Buffer::Zero ( )
inline

Zero.

References pBuffer, and pSize.

Referenced by XrdCl::Message::Message().

Member Data Documentation

char* XrdCl::Buffer::pBuffer
private
uint32_t XrdCl::Buffer::pCursor
private
uint32_t XrdCl::Buffer::pSize
private

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