Implementation of the communications layer which works via files. Every message is created as a file in a communications directory.
It is VERY slow, and only useful for understanding, debugging or demonstrating parallel simulation.
Inherits cParsimCommunications.
Public Member Functions | |
cFileCommunications () | |
virtual | ~cFileCommunications () |
Redefined methods from cParsimCommunications | |
virtual void | init (int numPartitions) override |
virtual void | shutdown () override |
virtual int | getNumPartitions () const override |
virtual int | getProcId () const override |
virtual cCommBuffer * | createCommBuffer () override |
virtual void | recycleCommBuffer (cCommBuffer *buffer) override |
virtual void | send (cCommBuffer *buffer, int tag, int destination) override |
virtual bool | receiveBlocking (int filtTag, cCommBuffer *buffer, int &receivedTag, int &sourceProcId) override |
virtual bool | receiveNonblocking (int filtTag, cCommBuffer *buffer, int &receivedTag, int &sourceProcId) override |
Constructor.
|
inlinevirtual |
Destructor.
|
overridevirtual |
Init the library.
|
overridevirtual |
Shutdown the communications library.
|
overridevirtual |
Returns total number of partitions.
|
overridevirtual |
Returns the id of this partition.
|
overridevirtual |
Creates an empty buffer of type cFileCommBuffer.
|
overridevirtual |
Recycle communication buffer after use.
|
overridevirtual |
Sends packed data with given tag to destination.
|
overridevirtual |
Receives packed data with given tag from given destination. Normally returns true; false is returned if blocking was interrupted by the user.
|
overridevirtual |
Receives packed data with given tag from given destination. Call is non-blocking – it returns true if something has been received, false otherwise.