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   public:
 14     Module_Class_Members(FF2AbstractFifo,cSimpleModule,16384);
 15
 16     cMessage *msgServiced1;
 17     cMessage *msgServiced2;
 18     cMessage *endServiceMsg1;
 19     cMessage *endServiceMsg2;
 20     cMessage *recordHistogram;
 21     cQueue queue;
 22     cLongHistogram hist;
 23
 24     virtual void activity();
 25     virtual void finish();
 26
 27     // hook functions to (re)define behaviour
 28     virtual void arrival(cMessage *msg) {}
 29     virtual simtime_t startService(cMessage *msg) = 0;
 30     virtual void endService(cMessage *msg) = 0;
 31 };
 32
 33 // FF2PacketFifo : double-server queue with given service time
 34 class FF2PacketFifo : public FF2AbstractFifo {
 35   public:
 36     Module_Class_Members(FF2PacketFifo,FF2AbstractFifo,16384);
 37
 38     virtual simtime_t startService(cMessage *msg);
 39     virtual void endService(cMessage *msg);
 40 };
 41
 42 #endif
 43
 44
 45