1
2
3
4
5
6 #ifndef __FIFO_H
7 #define __FIFO_H
8
9 #include <omnetpp.h>
10
11
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
29 virtual void arrival(cMessage *msg) {}
30 virtual simtime_t startService(cMessage *msg) = 0;
31 virtual void endService(cMessage *msg) = 0;
32 };
33
34
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