//-------------------------------------------------------------
// file: sink2.cc
// (part of Fifo2 - an OMNeT++ demo simulation)
//-------------------------------------------------------------
#include <omnetpp.h>
class FF2Sink : public cSimpleModule
{
public:
Module_Class_Members(FF2Sink,cSimpleModule,0)
cStdDev qstats;
cOutVector qtime;
virtual void initialize();
virtual void handleMessage(cMessage *msg);
virtual void finish();
};
Define_Module( FF2Sink );
void FF2Sink::initialize()
{
qstats.setName("queuing time stats");
qtime.setName("queueing time vector");
}
void FF2Sink::handleMessage(cMessage *msg)
{
double d = simTime()-msg->timestamp();
ev << "Received " << msg->name() << ", queueing time: " << d << "sec" << endl;
qstats.collect( d );
qtime.record( d );
delete msg;
}
void FF2Sink::finish()
{
ev << "Total jobs processed: " << qstats.samples() << endl;
ev << "Avg queueing time: " << qstats.mean() << endl;
ev << "Max queueing time: " << qstats.max() << endl;
ev << "Standard deviation: " << qstats.stddev() << endl;
}
syntax highlighted by Code2HTML, v. 0.9.1