OMNeT++ Parallel Simulation Support 6.1
Discrete Event Simulation Library
cISPEventLogger Class Reference

Description

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.

Inheritance diagram for cISPEventLogger:
[legend]
Collaboration diagram for cISPEventLogger:
[legend]

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
 

Constructor & Destructor Documentation

◆ cISPEventLogger()

cISPEventLogger ( )
inline

Constructor.

◆ ~cISPEventLogger()

virtual ~cISPEventLogger ( )
inlinevirtual

Destructor.

Member Function Documentation

◆ startRun()

virtual void startRun ( )
overridevirtual

Called at the beginning of a simulation run. The addition to the base class is opening the file.

Reimplemented from cNullMessageProtocol.

◆ endRun()

virtual void endRun ( )
overridevirtual

Called at the end of a simulation run. The addition to the base class is closing the file.

Reimplemented from cNullMessageProtocol.

◆ processOutgoingMessage()

void processOutgoingMessage ( cMessage *  msg,
const SendOptions &  options,
int  procId,
int  moduleId,
int  gateId,
void *  data 
)
overridevirtual

Overridden to check that the model doesn't set message priority which we need for our own purposes.

Reimplemented from cNullMessageProtocol.

◆ takeNextEvent()

virtual cEvent* takeNextEvent ( )
overridevirtual

Scheduler function. The addition to the base class is recording the event to the file.

Reimplemented from cNullMessageProtocol.

◆ putBackEvent()

virtual void putBackEvent ( cEvent *  event)
overridevirtual

Undo takeNextEvent() – it comes from the cScheduler interface.

Reimplemented from cNullMessageProtocol.


The documentation for this class was generated from the following file: