OMNeT++ Parallel Simulation Support  5.4.1
cCommBufferBase Class Reference

#include <ccommbufferbase.h>

Description

Adds buffer (re)allocation functions to cCommBuffer. This functionality is not always needed, e.g. PVM manages its pack/unpack buffers internally.

Inheritance diagram for cCommBufferBase:
cCommBuffer cObject cFileCommBuffer cMemCommBuffer

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 override
 
virtual void assertBufferEmpty () override
 

Constructor & Destructor Documentation

Constructor.

virtual ~cCommBufferBase ( )
virtual

Destructor.

Member Function Documentation

char* getBuffer ( ) const

Returns the buffer after packing.

int getBufferLength ( ) const

Returns the size of the buffer.

void allocateAtLeast ( int  size)

Extend buffer to the given size is needed. Existing buffer contents may be lost.

void setMessageSize ( int  size)

Set message length in the buffer. Used after receiving a message and copying it to the buffer.

int getMessageSize ( ) const

Returns message length in the buffer.

void reset ( )

Reset buffer to an empty state.

virtual bool isBufferEmpty ( ) const
overridevirtual

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.

virtual void assertBufferEmpty ( )
overridevirtual

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.


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