#include "generator.h" Define_Module( Generator ); void Generator::activity() { // init counting messageCount = 0; // get parameters double rate = par("rate"); double lambda = 1/rate; int rg = par("random_generator"); // create messages for (;;) { // create message and send it cMessage *msg = new cMessage("job"); msg->setTimestamp(); send(msg, "out"); messageCount++; // wait for exponential time (poisson process!) double waitTime = exponential(lambda, rg); wait(waitTime); } } void Generator::finish() { ev << "Total messages sent: " << messageCount << endl; }