RINASim  October 2016
Documentation of framework for OMNeT++
VoidDCGenerator.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 "DCRouting/IntDCRouting.h"
20 #include "SimpleDCForwarding.h"
21 
22 #include <map>
23 #include <set>
24 
25 
26 namespace NSPSimpleDC {
27 
28 using namespace std;
29 
30 typedef unsigned short mType;
31 
32 class VoidDCGenerator: public IntPDUFG {
33 public:
34  // A new flow has been inserted/or removed
35  virtual void insertedFlow(const Address &addr, const QoSCube& qos, RMTPort * port);
36  virtual void removedFlow(const Address &addr, const QoSCube& qos, RMTPort * port);
37 
38  //Routing has processes a routing update
39  virtual void routingUpdated();
40 
41 protected:
42  // Called after initialize
43  virtual void onPolicyInit();
44 
46 
47  DA * difA;
50 
51  //s_Addr -> DCAddr
52  map<string, DCAddr > neighsAddr;
53 
54  //int -> portsSet || up and down by sub-id
55  map<DCAddr, set<RMTPort*> > ports;
56 
58 
59  void handleMessage(cMessage *msg);
60 };
61 
62 }
unsigned short mType
map< DCAddr, set< RMTPort * > > ports
map< string, DCAddr > neighsAddr
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
iSimpleDCForwarding * fwd
Address class holds IPC Process identification.
Definition: Address.h:42