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 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
28 virtual void arrival(cMessage *msg) {}
29 virtual simtime_t startService(cMessage *msg) = 0;
30 virtual void endService(cMessage *msg) = 0;
31 };
32
33
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