sources:
fifo1.cpp (4.0k)
fifo1.h (1.2k)
fifo1_n.cpp (4.0k)
fifonet1_n.cpp (10.2k)
gen1.cpp (1.3k)
gen1.h (443 bytes)
gen1_n.cpp (4.1k)
sink1.cpp (1.4k)
sink1.h (503 bytes)
sink1_n.cpp (3.9k)


website:
more info here


screenshot:
studies/performance/Performance-Code4/gen1.cpp
download file

  1 //-------------------------------------------------------------
  2 // file: gen1.cc
  3 // (part of Fifo1 - an OMNeT++ demo simulation)
  4 //-------------------------------------------------------------
  5
  6 #include "gen1.h"
  7
  8
  9 Define_Module( FF2Generator );
 10
 11 void FF2Generator::activity()
 12 {
 13     // ia_time and msg_length are taken by reference,
 14     // because they can contain random values
 15
 16     // init. radom number generator
 17     opp_randomize();
 18     // get values
 19     int num_messages = par("num_messages");
 20     cPar& ia_time = par("ia_time");
 21     cPar& msg_length = par("msg_length");
 22     // create messages (jobs)
 23     for (int i=0; i<num_messages; i++)
 24     {
 25         char msgname[32];
 26         sprintf( msgname, "job-%d", i);
 27
 28         ev << "Generating " << msgname << endl;
 29
 30         cMessage *msg = new cMessage( msgname );
 31         msg->setLength( (long) msg_length );
 32         msg->setTimestamp();
 33         if (i==num_messages-1) msg->addPar("last_msg");
 34
 35
 36         send( msg, "out" );
 37
 38         wait( (double) ia_time );
 39     }
 40 }
 41
 42 void FF2Generator::finish()
 43 {
 44     ev << "*** Module: " << fullPath() << "***" << endl;
 45     ev << "Stack allocated: " << stackSize() << " bytes";
 46     ev << " (includes " << ev.extraStackForEnvir() << " bytes for environment)" << endl;
 47     ev << "Stack actually used: " << stackUsage() << " bytes" << endl;
 48 }
 49
 50