"Dummy" implementation – just pass messages between partitions, without any synchronization. Of course incausalities may occur which terminate the simulation with error, so this class is only useful as a base "template" for implementing "real" synchronization protocols.
Public Member Functions | |
cNoSynchronization () | |
virtual | ~cNoSynchronization () |
virtual void | startRun () override |
virtual void | endRun () override |
virtual cEvent * | takeNextEvent () override |
virtual void | putBackEvent (cEvent *event) override |
Public Member Functions inherited from cParsimProtocolBase | |
cParsimProtocolBase () | |
virtual | ~cParsimProtocolBase () |
virtual void | processOutgoingMessage (cMessage *msg, const SendOptions &options, int procId, int moduleId, int gateId, void *data) override |
Public Member Functions inherited from cParsimSynchronizer | |
cParsimSynchronizer () | |
virtual | ~cParsimSynchronizer () |
virtual std::string | str () const override |
virtual void | setContext (cSimulation *sim, cParsimPartition *seg, cParsimCommunications *co) |
virtual cEvent * | guessNextEvent () override |
|
inline |
Constructor.
|
inlinevirtual |
Destructor.
|
overridevirtual |
Called at the beginning of a simulation run.
Implements cParsimSynchronizer.
|
overridevirtual |
Called at the end of a simulation run.
Implements cParsimSynchronizer.
|
overridevirtual |
Scheduler function. It processes whatever comes from other partitions, then returns getFES()->peekFirst(). Performs no synchronization with other partitions, so incausalities may occur which stop the simulation with an error (see also class comment).
Implements cParsimSynchronizer.
|
overridevirtual |
Undo takeNextEvent() – it comes from the cScheduler interface.