cParsimCommunications Class Reference¶
|
API
|
Public Member Functions | |
| virtual | ~cParsimCommunications () |
Lifecycle of communications library | |
| virtual void | init (int numPartitions)=0 |
| virtual void | shutdown ()=0 |
| virtual int | getNumPartitions () const =0 |
| virtual int | getProcId () const =0 |
Buffers, send, receive | |
| virtual cCommBuffer * | createCommBuffer ()=0 |
| virtual void | recycleCommBuffer (cCommBuffer *buffer)=0 |
| virtual void | send (cCommBuffer *buffer, int tag, int destination)=0 |
| virtual void | broadcast (cCommBuffer *buffer, int tag) |
| virtual bool | receiveBlocking (int filtTag, cCommBuffer *buffer, int &receivedTag, int &sourceProcId)=0 |
| virtual bool | receiveNonblocking (int filtTag, cCommBuffer *buffer, int &receivedTag, int &sourceProcId)=0 |
| 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
Basic communications layer for parallel simulation. It provides an abstraction layer above MPI, PVM, shared-memory communications, etc.
This is an interface: functionality is added by specific subclasses for MPI, PVM, etc.
Constructor & Destructor Documentation
◆ ~cParsimCommunications()
|
inlinevirtual |
Virtual destructor.
Member Function Documentation
◆ init()
|
pure virtual |
Initialize the communications library.
◆ shutdown()
|
pure virtual |
Shutdown the communications library.
◆ getNumPartitions()
|
pure virtual |
Returns total number of partitions.
◆ getProcId()
|
pure virtual |
Returns id of this partition, an integer in the range 0..getNumPartitions()-1.
◆ createCommBuffer()
|
pure virtual |
Creates an empty buffer that can be used to send/receive data
◆ recycleCommBuffer()
|
pure virtual |
Recycle communication buffer after use. May be used to implement pooling, etc.
◆ send()
|
pure virtual |
Sends packed data with given tag to destination.
◆ broadcast()
|
virtual |
Broadcasts packed data with given tag to all partitions. This default implementation just simply sends the data to every other partition.
◆ receiveBlocking()
|
pure virtual |
Receives packed data with given tag from given destination. Normally returns true; false is returned if blocking was interrupted by the user.
◆ receiveNonblocking()
|
pure virtual |
Receives packed data with given tag from given destination. Call is non-blocking – it returns true if something has been received, false otherwise.
Generated on for API by