Adds buffer (re)allocation functions to cCommBuffer. More...
#include <ccommbufferbase.h>
Public Member Functions | |
cCommBufferBase () | |
virtual | ~cCommBufferBase () |
Buffer management | |
char * | getBuffer () const |
int | getBufferLength () const |
void | allocateAtLeast (int size) |
void | setMessageSize (int size) |
int | getMessageSize () const |
void | reset () |
virtual bool | isBufferEmpty () const |
virtual void | assertBufferEmpty () |
Adds buffer (re)allocation functions to cCommBuffer.
This functionality is not always needed, e.g. PVM manages its pack/unpack buffers internally.
void cCommBufferBase::allocateAtLeast | ( | int | size | ) |
Extend buffer to the given size is needed.
Existing buffer contents may be lost.
virtual void cCommBufferBase::assertBufferEmpty | ( | ) | [virtual] |
Utility function.
To be called after unpacking a communication buffer, it checks whether the buffer is empty. If it is not (i.e. an underflow or overflow occurred), an exception is thrown.
Implements cCommBuffer.
virtual bool cCommBufferBase::isBufferEmpty | ( | ) | const [virtual] |
Returns true if all data in buffer was used up during unpacking.
Returns false if there was underflow (too much data unpacked) or still there are unpacked data in the buffer.
Implements cCommBuffer.
void cCommBufferBase::setMessageSize | ( | int | size | ) |
Set message length in the buffer.
Used after receiving a message and copying it to the buffer.
Reimplemented in cFileCommBuffer.