rendered paste body// gen1.cpp code
// This file implements functionality for the generator module
#include <omnetpp.h>
class Generator: public cSimpleModule
{
// This is a macro; it expands to constructor definition.
Module_Class_Members(Generator, cSimpleModule, 8192);
// 8192 - estimated stack size needs
// The following redefined virtual function implements the
// module functionality.
virtual void activity();
};
// The module class needs to be registered with OMNeT++
Define_Module(Generator);
void Generator::activity()
{
while(1)
{
cMessage *msg = receive();
if (msg != NULL)
{
double temp;
double p1 = par("prob");
// create message
cMessage *msg = new cMessage("packet");
temp = (double)rand()/RAND_MAX;
if (temp < p1)
{
ev << "Generate data packet\n";
msg -> setKind(1);
}
else
{
ev << "Generate voice packet\n";
msg -> setKind(0);
send(msg, "out");
wait(10);
}
}
else
{
wait(10);
}
}
}