RINASim  October 2016
Documentation of framework for OMNeT++
PLQoSAwareMEntries.h
Go to the documentation of this file.
1 //
2 // This program is free software: you can redistribute it and/or modify
3 // it under the terms of the GNU Lesser General Public License as published by
4 // the Free Software Foundation, either version 3 of the License, or
5 // (at your option) any later version.
6 //
7 // This program is distributed in the hope that it will be useful,
8 // but WITHOUT ANY WARRANTY; without even the implied warranty of
9 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
10 // GNU Lesser General Public License for more details.
11 //
12 // You should have received a copy of the GNU Lesser General Public License
13 // along with this program. If not, see http://www.gnu.org/licenses/.
14 //
15 
16 #pragma once
17 
18 #include <IntPDUFG.h>
19 #include <IntIQoSMForwarding.h>
21 
22 #include "IDPerNQoSxPLen.h"
23 
24 #include <map>
25 #include <set>
26 
27 
28 namespace PLQoSAwareMEntries {
29 
30 using namespace std;
31 
32 typedef unsigned short mType;
33 
35 public:
36  // A new flow has been inserted/or removed
37  virtual void insertedFlow(const Address &addr, const QoSCube& qos, RMTPort * port);
38  virtual void removedFlow(const Address &addr, const QoSCube& qos, RMTPort * port);
39 
40  //Routing has processes a routing update
41  virtual void routingUpdated();
42 
43  void registerQidsGen(IDPerNQoSxPLen * qId);
44  void unregisterQidsGen(IDPerNQoSxPLen * qId);
45 
46 protected:
47  // Called after initialize
48  virtual void onPolicyInit();
49 
50 private:
51  DA * difA;
54  set<IDPerNQoSxPLen *> qIds;
55 
56  //QoS, Next, Ports
57  map<string, map<string, set<RMTPort*> > > neighbours;
58  map<RMTPort*, string > portQoS;
59 
60  set<string> urgentQoS;
61  map<string, int> dstLat;
62  map<string, double> dstDLat;
63  //FIXME: Vesely: Unused variable commented
64  //bool maUrgent;
65  int maxLat;
66 };
67 
68 }
map< string, map< string, set< RMTPort * > > > neighbours
Definition: DA.h:43
Class representing QoSCube with all its properties that is primarily used by FA, RMT and RA Specifica...
Definition: QoSCube.h:57
unsigned short mType
Address class holds IPC Process identification.
Definition: Address.h:42