Implements the "null message algorithm". More...
#include <cnullmessageprot.h>
Public Member Functions | |
cNullMessageProtocol () | |
virtual | ~cNullMessageProtocol () |
virtual void | setContext (cSimulation *sim, cParsimPartition *seg, cParsimCommunications *co) |
void | setLaziness (double d) |
double | getLaziness () |
virtual void | startRun () |
virtual void | endRun () |
virtual cMessage * | getNextEvent () |
virtual void | processOutgoingMessage (cMessage *msg, int procId, int moduleId, int gateId, void *data) |
Implements the "null message algorithm".
Lookahead calculation is encapsulated into a separate object, subclassed from cNMPLookahead.
virtual cMessage* cNullMessageProtocol::getNextEvent | ( | ) | [virtual] |
Scheduler function.
The null message algorithm is embedded here.
Implements cParsimSynchronizer.
Reimplemented in cISPEventLogger.
void cNullMessageProtocol::setLaziness | ( | double | d | ) | [inline] |
Sets null message resend laziness.
Value is between 0 and 1 -- 0.0 means eager resend, 1.0 means lazy resend.
(Probably should never be 1.0, otherwise floating point rounding errors may cause obscure EIT-deadlocks on receiving side.)