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/fifo1.h
download file

  1 //-------------------------------------------------------------
  2 // file: fifo1.h
  3 // (part of Fifo1 - an OMNeT++ demo simulation)
  4 //-------------------------------------------------------------
  5
  6 #ifndef __FIFO_H
  7 #define __FIFO_H
  8
  9 #include <omnetpp.h>
 10
 11 // FF2AbstractFifo : abstract base class for single-server queues
 12 class FF2AbstractFifo : public cSimpleModule
 13 {
 14   public:
 15     Module_Class_Members(FF2AbstractFifo,cSimpleModule,16384);
 16
 17     cMessage *msgServiced1;
 18     cMessage *msgServiced2;
 19     cMessage *endServiceMsg1;
 20     cMessage *endServiceMsg2;
 21     cMessage *recordHistogram;
 22     cQueue queue;
 23     cLongHistogram hist;
 24
 25     virtual void activity();
 26     virtual void finish();
 27
 28     // hook functions to (re)define behaviour
 29     virtual void arrival(cMessage *msg) {}
 30     virtual simtime_t startService(cMessage *msg) = 0;
 31     virtual void endService(cMessage *msg) = 0;
 32 };
 33
 34 // FF2PacketFifo : double-server queue with given service time
 35 class FF2PacketFifo : public FF2AbstractFifo
 36 {
 37   public:
 38     Module_Class_Members(FF2PacketFifo,FF2AbstractFifo,16384);
 39
 40     virtual simtime_t startService(cMessage *msg);
 41     virtual void endService(cMessage *msg);
 42 };
 43
 44 #endif
 45
 46