cCommBuffer Class Reference¶
|
API
|
Public Member Functions | |
| virtual | ~cCommBuffer () |
Mode | |
| virtual Mode | getMode () const |
| virtual void | setMode (Mode m) |
Buffer management | |
| virtual bool | isBufferEmpty () const =0 |
| virtual void | assertBufferEmpty ()=0 |
Pack basic types | |
| 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 |
Pack arrays of basic types | |
| 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 |
Unpack basic types | |
| 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 |
Unpack arrays of basic types | |
| 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 |
Utility functions | |
| bool | packFlag (bool flag) |
| bool | checkFlag () |
| virtual void | packObject (cObject *obj) |
| virtual cObject * | unpackObject () |
| 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 cObject * | getThisPtr () const |
| virtual std::string | str () const |
| virtual std::ostream & | printOn (std::ostream &os) const |
| virtual cObject * | dup () const |
| virtual void | parsimPack (cCommBuffer *buffer) const |
| virtual void | parsimUnpack (cCommBuffer *buffer) |
| virtual cObject * | getOwner () const |
| virtual bool | isOwnedObject () const |
| virtual bool | isSoftOwner () const |
| virtual void | forEachChild (cVisitor *v) |
| cObject * | findObject (const char *name, bool deep=true) |
| virtual cClassDescriptor * | getDescriptor () 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
Buffer for the communications layer of parallel simulation.
This is an abstract class which has different implementations for specific communication mechanisms. For example, the MPI implementation, cMPICommBuffer encapsulates MPI_Pack() and MPI_Unpack().
Constructor & Destructor Documentation
◆ ~cCommBuffer()
|
inlinevirtual |
Virtual destructor
Member Function Documentation
◆ getMode()
|
inlinevirtual |
Returns the usage mode. parsimPack() methods may take this field into account when deciding which fields to pack and which fields not to pack.
◆ setMode()
|
inlinevirtual |
Sets the usage mode.
◆ isBufferEmpty()
|
pure 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.
Implemented in cCommBufferBase.
◆ assertBufferEmpty()
|
pure 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.
Implemented in cCommBufferBase.
◆ pack() [1/35]
|
pure virtual |
◆ pack() [2/35]
|
pure virtual |
Packs an unsigned character.
Implemented in cFileCommBuffer, and cMemCommBuffer.
◆ pack() [3/35]
|
pure virtual |
Packs a bool.
Implemented in cFileCommBuffer, and cMemCommBuffer.
◆ pack() [4/35]
|
pure virtual |
Packs a short int.
Implemented in cFileCommBuffer, and cMemCommBuffer.
◆ pack() [5/35]
|
pure virtual |
Packs an unsigned short int.
Implemented in cFileCommBuffer, and cMemCommBuffer.
◆ pack() [6/35]
|
pure virtual |
Packs an int.
Implemented in cFileCommBuffer, and cMemCommBuffer.
◆ pack() [7/35]
|
pure virtual |
Packs an unsigned int.
Implemented in cFileCommBuffer, and cMemCommBuffer.
◆ pack() [8/35]
|
pure virtual |
Packs a long int.
Implemented in cFileCommBuffer, and cMemCommBuffer.
◆ pack() [9/35]
|
pure virtual |
Packs an unsigned long int.
Implemented in cFileCommBuffer, and cMemCommBuffer.
◆ pack() [10/35]
|
pure virtual |
Packs a long long.
Implemented in cFileCommBuffer, and cMemCommBuffer.
◆ pack() [11/35]
|
pure virtual |
Packs an unsigned long long.
Implemented in cFileCommBuffer, and cMemCommBuffer.
◆ pack() [12/35]
|
pure virtual |
Packs a float.
Implemented in cFileCommBuffer, and cMemCommBuffer.
◆ pack() [13/35]
|
pure virtual |
Packs a double.
Implemented in cFileCommBuffer, and cMemCommBuffer.
◆ pack() [14/35]
|
pure virtual |
Packs a long double.
Implemented in cFileCommBuffer, and cMemCommBuffer.
◆ pack() [15/35]
|
pure virtual |
Packs a string.
Implemented in cFileCommBuffer, and cMemCommBuffer.
◆ pack() [16/35]
|
pure virtual |
Packs a string.
Implemented in cFileCommBuffer, and cMemCommBuffer.
◆ pack() [17/35]
|
pure virtual |
Packs a SimTime.
Implemented in cFileCommBuffer, and cMemCommBuffer.
◆ pack() [18/35]
|
pure virtual |
Packs an array of chars.
Implemented in cFileCommBuffer, and cMemCommBuffer.
◆ pack() [19/35]
|
pure virtual |
Packs an array of unsigned chars.
Implemented in cFileCommBuffer, and cMemCommBuffer.
◆ pack() [20/35]
|
pure virtual |
Packs an array of bools.
Implemented in cFileCommBuffer, and cMemCommBuffer.
◆ pack() [21/35]
|
pure virtual |
Packs an array of shorts.
Implemented in cFileCommBuffer, and cMemCommBuffer.
◆ pack() [22/35]
|
pure virtual |
Packs an array of unsigned shorts.
Implemented in cFileCommBuffer, and cMemCommBuffer.
◆ pack() [23/35]
|
pure virtual |
Packs an array of ints.
Implemented in cFileCommBuffer, and cMemCommBuffer.
◆ pack() [24/35]
|
pure virtual |
Packs an array of unsigned ints.
Implemented in cFileCommBuffer, and cMemCommBuffer.
◆ pack() [25/35]
|
pure virtual |
Packs an array of longs.
Implemented in cFileCommBuffer, and cMemCommBuffer.
◆ pack() [26/35]
|
pure virtual |
Packs an array of unsigned longs.
Implemented in cFileCommBuffer, and cMemCommBuffer.
◆ pack() [27/35]
|
pure virtual |
Packs an array of long long's.
Implemented in cFileCommBuffer, and cMemCommBuffer.
◆ pack() [28/35]
|
pure virtual |
Packs an array of unsigned long long's.
Implemented in cFileCommBuffer, and cMemCommBuffer.
◆ pack() [29/35]
|
pure virtual |
Packs an array of floats.
Implemented in cFileCommBuffer, and cMemCommBuffer.
◆ pack() [30/35]
|
pure virtual |
Packs an array of doubles.
Implemented in cFileCommBuffer, and cMemCommBuffer.
◆ pack() [31/35]
|
pure virtual |
Packs an array of long doubles.
Implemented in cFileCommBuffer, and cMemCommBuffer.
◆ pack() [32/35]
|
inline |
◆ pack() [33/35]
|
pure virtual |
Packs an array of strings.
Implemented in cFileCommBuffer, and cMemCommBuffer.
◆ pack() [34/35]
|
pure virtual |
Packs an array of opp_strings.
Implemented in cFileCommBuffer, and cMemCommBuffer.
◆ pack() [35/35]
|
pure virtual |
Packs an array of SimTimes.
Implemented in cFileCommBuffer, and cMemCommBuffer.
◆ unpack() [1/36]
|
pure virtual |
◆ unpack() [2/36]
|
pure virtual |
Unpacks an unsigned char.
Implemented in cFileCommBuffer, and cMemCommBuffer.
◆ unpack() [3/36]
|
pure virtual |
Unpacks a bool.
Implemented in cFileCommBuffer, and cMemCommBuffer.
◆ unpack() [4/36]
|
pure virtual |
Unpacks a short.
Implemented in cFileCommBuffer, and cMemCommBuffer.
◆ unpack() [5/36]
|
pure virtual |
Unpacks an unsigned short.
Implemented in cFileCommBuffer, and cMemCommBuffer.
◆ unpack() [6/36]
|
pure virtual |
Unpacks an int.
Implemented in cFileCommBuffer, and cMemCommBuffer.
◆ unpack() [7/36]
|
pure virtual |
Unpacks an unsigned int.
Implemented in cFileCommBuffer, and cMemCommBuffer.
◆ unpack() [8/36]
|
pure virtual |
Unpacks a long.
Implemented in cFileCommBuffer, and cMemCommBuffer.
◆ unpack() [9/36]
|
pure virtual |
Unpacks an unsigned long.
Implemented in cFileCommBuffer, and cMemCommBuffer.
◆ unpack() [10/36]
|
pure virtual |
Unpacks a long long.
Implemented in cFileCommBuffer, and cMemCommBuffer.
◆ unpack() [11/36]
|
pure virtual |
Unpacks an unsigned long long.
Implemented in cFileCommBuffer, and cMemCommBuffer.
◆ unpack() [12/36]
|
pure virtual |
Unpacks a float.
Implemented in cFileCommBuffer, and cMemCommBuffer.
◆ unpack() [13/36]
|
pure virtual |
Unpacks a double.
Implemented in cFileCommBuffer, and cMemCommBuffer.
◆ unpack() [14/36]
|
pure virtual |
Unpacks a long double.
Implemented in cFileCommBuffer, and cMemCommBuffer.
◆ unpack() [15/36]
|
inline |
◆ unpack() [16/36]
|
pure virtual |
Unpacks a string – storage will be allocated for it via new char[].
Implemented in cFileCommBuffer, and cMemCommBuffer.
◆ unpack() [17/36]
|
pure virtual |
Unpacks an opp_string.
Implemented in cFileCommBuffer, and cMemCommBuffer.
◆ unpack() [18/36]
|
pure virtual |
Unpacks a SimTime.
Implemented in cFileCommBuffer, and cMemCommBuffer.
◆ unpack() [19/36]
|
pure virtual |
Unpacks an array of chars.
Implemented in cFileCommBuffer, and cMemCommBuffer.
◆ unpack() [20/36]
|
pure virtual |
Unpacks an array of unsigned chars.
Implemented in cFileCommBuffer, and cMemCommBuffer.
◆ unpack() [21/36]
|
pure virtual |
Unpacks an array of bools.
Implemented in cFileCommBuffer, and cMemCommBuffer.
◆ unpack() [22/36]
|
pure virtual |
Unpacks an array of shorts.
Implemented in cFileCommBuffer, and cMemCommBuffer.
◆ unpack() [23/36]
|
pure virtual |
Unpacks an array of unsigned shorts.
Implemented in cFileCommBuffer, and cMemCommBuffer.
◆ unpack() [24/36]
|
pure virtual |
Unpacks an array of ints.
Implemented in cFileCommBuffer, and cMemCommBuffer.
◆ unpack() [25/36]
|
pure virtual |
Unpacks an array of unsigned ints.
Implemented in cFileCommBuffer, and cMemCommBuffer.
◆ unpack() [26/36]
|
pure virtual |
Unpacks an array of longs.
Implemented in cFileCommBuffer, and cMemCommBuffer.
◆ unpack() [27/36]
|
pure virtual |
Unpacks an array of unsigned longs.
Implemented in cFileCommBuffer, and cMemCommBuffer.
◆ unpack() [28/36]
|
pure virtual |
Unpacks an array of long long's.
Implemented in cFileCommBuffer, and cMemCommBuffer.
◆ unpack() [29/36]
|
pure virtual |
Unpacks an array of unsigned long long's.
Implemented in cFileCommBuffer, and cMemCommBuffer.
◆ unpack() [30/36]
|
pure virtual |
Unpacks an array of floats.
Implemented in cFileCommBuffer, and cMemCommBuffer.
◆ unpack() [31/36]
|
pure virtual |
Unpacks an array of doubles.
Implemented in cFileCommBuffer, and cMemCommBuffer.
◆ unpack() [32/36]
|
pure virtual |
Unpacks an array of long doubles.
Implemented in cFileCommBuffer, and cMemCommBuffer.
◆ unpack() [33/36]
|
inline |
◆ unpack() [34/36]
|
pure virtual |
Unpacks an array of strings – storage for strings will be allocated via new char[].
Implemented in cFileCommBuffer, and cMemCommBuffer.
◆ unpack() [35/36]
|
pure virtual |
Unpacks an array of opp_strings.
Implemented in cFileCommBuffer, and cMemCommBuffer.
◆ unpack() [36/36]
|
pure virtual |
Unpacks an array of SimTime.
Implemented in cFileCommBuffer, and cMemCommBuffer.
◆ packFlag()
|
inline |
Stores and returns the given flag.
References pack().
◆ checkFlag()
|
inline |
Unpacks and returns a bool flag stored by packFlag().
References unpack().
◆ packObject()
|
virtual |
Packs an object.
References cObject::cObject().
◆ unpackObject()
|
virtual |
Unpacks and returns an object.
References cObject::cObject().
Generated on for API by