Implements phase one for the Ideal Simulation Protocol (ISP), namely, creating the log of "external" events. That log will be used as by the ISP synchromization mechanism (cIdealSimulationProtocol).
This class simply executes the simulation under the Null Message Algorithm, and additionally records all "external" events to a file.
Public Member Functions | |
cISPEventLogger () | |
virtual | ~cISPEventLogger () |
virtual void | startRun () override |
virtual void | endRun () override |
void | processOutgoingMessage (cMessage *msg, const SendOptions &options, int procId, int moduleId, int gateId, void *data) override |
virtual cEvent * | takeNextEvent () override |
virtual void | putBackEvent (cEvent *event) override |
Public Member Functions inherited from cNullMessageProtocol | |
cNullMessageProtocol () | |
virtual | ~cNullMessageProtocol () |
virtual void | setContext (cSimulation *sim, cParsimPartition *seg, cParsimCommunications *co) override |
void | setLaziness (double d) |
double | getLaziness () |
Public Member Functions inherited from cParsimProtocolBase | |
cParsimProtocolBase () | |
virtual | ~cParsimProtocolBase () |
Public Member Functions inherited from cParsimSynchronizer | |
cParsimSynchronizer () | |
virtual | ~cParsimSynchronizer () |
virtual std::string | str () const override |
virtual cEvent * | guessNextEvent () override |
|
inline |
Constructor.
|
inlinevirtual |
Destructor.
|
overridevirtual |
Called at the beginning of a simulation run. The addition to the base class is opening the file.
Reimplemented from cNullMessageProtocol.
|
overridevirtual |
Called at the end of a simulation run. The addition to the base class is closing the file.
Reimplemented from cNullMessageProtocol.
|
overridevirtual |
Overridden to check that the model doesn't set message priority which we need for our own purposes.
Reimplemented from cNullMessageProtocol.
|
overridevirtual |
Scheduler function. The addition to the base class is recording the event to the file.
Reimplemented from cNullMessageProtocol.
|
overridevirtual |
Undo takeNextEvent() – it comes from the cScheduler interface.
Reimplemented from cNullMessageProtocol.