RINASim  October 2016
Documentation of framework for OMNeT++
HierarchicalGenerator.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 #ifndef HierarchicalGenerator_H_
17 #define HierarchicalGenerator_H_
18 
19 #include <IntPDUFG.h>
20 #include <HierarchicalTable.h>
21 #include <TDomainRouting.h>
22 
23 #include <map>
24 #include <set>
25 
26 namespace HierarchicalGenerator {
27 
28 using namespace std;
29 
30 typedef unsigned short mType;
31 
32 struct pAddr {
33  string domId;
34  string addr;
35  pAddr (const string &_domId, const string _addr) :domId(_domId), addr(_addr){}
36 };
37 
38 typedef set<RMTPort*> PortsSet;
39 typedef map<string, PortsSet> NTable;
40 
41 typedef PortsSet::iterator PortsSetIt;
42 typedef NTable::iterator NTableIt;
43 
44 
46 public:
47  // A new flow has been inserted/or removed
48  virtual void insertedFlow(const Address &addr, const QoSCube &qos, RMTPort * port);
49  virtual void removedFlow(const Address &addr, const QoSCube& qos, RMTPort * port);
50 
51  //Routing has processes a routing update
52  virtual void routingUpdated();
53 
54 protected:
55  // Called after initialize
56  virtual void onPolicyInit();
57 
58 private:
59  DA * difA;
62 
63  string myAddr;
64  vector<string> parsStr;
65  vector<string> domains;
66  pAddr parseAddr(const string &addr);
67 
68  map<string,NTable> domNeighbours;
69 };
70 
71 }
72 
73 #endif /* STATICGENERATOR_H_ */
PortsSet::iterator PortsSetIt
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
map< string, PortsSet > NTable
pAddr(const string &_domId, const string _addr)
HierarchicalTable::HierarchicalTable * fwd
Address class holds IPC Process identification.
Definition: Address.h:42