cCommBufferBase Class Reference¶

API: cCommBufferBase Class Reference
API
cCommBufferBase Class Reference
Inheritance diagram for cCommBufferBase:
[legend]

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
virtual void swap (cCommBufferBase *other)
Public Member Functions inherited from cCommBuffer
virtual ~cCommBuffer ()
virtual Mode getMode () const
virtual void setMode (Mode m)
virtual void pack (char d)=0
virtual void pack (unsigned char d)=0
virtual void pack (bool d)=0
virtual void pack (short d)=0
virtual void pack (unsigned short d)=0
virtual void pack (int d)=0
virtual void pack (unsigned int d)=0
virtual void pack (long d)=0
virtual void pack (unsigned long d)=0
virtual void pack (long long d)=0
virtual void pack (unsigned long long d)=0
virtual void pack (float d)=0
virtual void pack (double d)=0
virtual void pack (long double d)=0
virtual void pack (const char *d)=0
virtual void pack (const opp_string &d)=0
virtual void pack (SimTime d)=0
virtual void pack (const char *d, int size)=0
virtual void pack (const unsigned char *d, int size)=0
virtual void pack (const bool *d, int size)=0
virtual void pack (const short *d, int size)=0
virtual void pack (const unsigned short *d, int size)=0
virtual void pack (const int *d, int size)=0
virtual void pack (const unsigned int *d, int size)=0
virtual void pack (const long *d, int size)=0
virtual void pack (const unsigned long *d, int size)=0
virtual void pack (const long long *d, int size)=0
virtual void pack (const unsigned long long *d, int size)=0
virtual void pack (const float *d, int size)=0
virtual void pack (const double *d, int size)=0
virtual void pack (const long double *d, int size)=0
void pack (char **d, int size)
virtual void pack (const char **d, int size)=0
virtual void pack (const opp_string *d, int size)=0
virtual void pack (const SimTime *d, int size)=0
virtual void unpack (char &d)=0
virtual void unpack (unsigned char &d)=0
virtual void unpack (bool &d)=0
virtual void unpack (short &d)=0
virtual void unpack (unsigned short &d)=0
virtual void unpack (int &d)=0
virtual void unpack (unsigned int &d)=0
virtual void unpack (long &d)=0
virtual void unpack (unsigned long &d)=0
virtual void unpack (long long &d)=0
virtual void unpack (unsigned long long &d)=0
virtual void unpack (float &d)=0
virtual void unpack (double &d)=0
virtual void unpack (long double &d)=0
void unpack (char *&d)
virtual void unpack (const char *&d)=0
virtual void unpack (opp_string &d)=0
virtual void unpack (SimTime &d)=0
virtual void unpack (char *d, int size)=0
virtual void unpack (unsigned char *d, int size)=0
virtual void unpack (bool *d, int size)=0
virtual void unpack (short *d, int size)=0
virtual void unpack (unsigned short *d, int size)=0
virtual void unpack (int *d, int size)=0
virtual void unpack (unsigned int *d, int size)=0
virtual void unpack (long *d, int size)=0
virtual void unpack (unsigned long *d, int size)=0
virtual void unpack (long long *d, int size)=0
virtual void unpack (unsigned long long *d, int size)=0
virtual void unpack (float *d, int size)=0
virtual void unpack (double *d, int size)=0
virtual void unpack (long double *d, int size)=0
void unpack (char **d, int size)
virtual void unpack (const char **d, int size)=0
virtual void unpack (opp_string *d, int size)=0
virtual void unpack (SimTime *d, int size)=0
bool packFlag (bool flag)
bool checkFlag ()
virtual void packObject (cObject *obj)
virtual cObjectunpackObject ()
Public Member Functions inherited from cObject
 cObject ()
 cObject (const cObject &other)=default
virtual ~cObject ()
virtual const char * getClassName () const
virtual const char * getName () const
bool isName (const char *s) const
virtual const char * getFullName () const
virtual std::string getFullPath () const
virtual std::string getClassAndFullName () const
virtual std::string getClassAndFullPath () const
const cObjectgetThisPtr () const
virtual std::string str () const
virtual std::ostream & printOn (std::ostream &os) const
virtual cObjectdup () const
virtual void parsimPack (cCommBuffer *buffer) const
virtual void parsimUnpack (cCommBuffer *buffer)
virtual cObjectgetOwner () const
virtual bool isOwnedObject () const
virtual bool isSoftOwner () const
virtual void forEachChild (cVisitor *v)
cObjectfindObject (const char *name, bool deep=true)
virtual cClassDescriptorgetDescriptor () const
void copyNotSupported () const

Additional Inherited Members

Protected Member Functions inherited from cObject
virtual void take (cOwnedObject *obj)
virtual void drop (cOwnedObject *obj)
void dropAndDelete (cOwnedObject *obj)

Description

Adds buffer (re)allocation functions to cCommBuffer. This functionality is not always needed, as some libraries manage their pack/unpack buffers internally.

Constructor & Destructor Documentation

◆ cCommBufferBase()

cCommBufferBase ( )
inline

Constructor.

Referenced by swap().

◆ ~cCommBufferBase()

virtual ~cCommBufferBase ( )
virtual

Destructor.

Member Function Documentation

◆ getBuffer()

char * getBuffer ( ) const

Returns the buffer after packing.

◆ getBufferLength()

int getBufferLength ( ) const

Returns the size of the buffer.

◆ allocateAtLeast()

void allocateAtLeast ( int size)

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

◆ setMessageSize()

void setMessageSize ( int size)

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

◆ getMessageSize()

int getMessageSize ( ) const

Returns message length in the buffer.

◆ reset()

void reset ( )

Reset buffer to an empty state.

◆ isBufferEmpty()

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.

◆ assertBufferEmpty()

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.

◆ swap()

virtual void swap ( cCommBufferBase * other)
virtual

Utility method: swap the contents of the two buffers

References cCommBufferBase().