Implementation of the communications layer which uses named pipes. Pipes are created at initialization time, and are used throughout the whole simulation.
Inherits cParsimCommunications.
| Public Member Functions | |
| cNamedPipeCommunications () | |
| virtual | ~cNamedPipeCommunications () | 
| 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.
| 
 | virtual | 
Destructor.
| 
 | overridevirtual | 
Init the library. Here we create and open the named pipes.
| 
 | overridevirtual | 
Shutdown the communications library. Closes and removes the named pipes.
| 
 | overridevirtual | 
Returns total number of partitions.
| 
 | overridevirtual | 
Returns the id of this partition.
| 
 | overridevirtual | 
Creates an empty buffer of type cMemCommBuffer.
| 
 | overridevirtual | 
Recycle communication buffer after use.
| 
 | overridevirtual | 
Sends packed data with given tag to destination.
| 
 | overridevirtual | 
Receives packed data, and also returns tag and source procId. Normally returns true; false is returned if blocking was interrupted by the user.
| 
 | overridevirtual | 
Receives packed data, and also returns tag and source procId. Call is non-blocking – it returns true if something has been received, false otherwise.