OverSim
ReaSEUnderlayConfigurator.h
Go to the documentation of this file.
1 //
2 // Copyright (C) 2010 Institut fuer Telematik, Karlsruher Institut fuer Technologie (KIT)
3 //
4 // This program is free software; you can redistribute it and/or
5 // modify it under the terms of the GNU General Public License
6 // as published by the Free Software Foundation; either version 2
7 // of the License, or (at your option) any later version.
8 //
9 // This program is distributed in the hope that it will be useful,
10 // but WITHOUT ANY WARRANTY; without even the implied warranty of
11 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 // GNU General Public License for more details.
13 //
14 // You should have received a copy of the GNU General Public License
15 // along with this program; if not, write to the Free Software
16 // Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
17 //
18 
25 #ifndef REASEUNDERLAYCONFIGURATOR_H_
26 #define REASEUNDERLAYCONFIGURATOR_H_
27 
28 
29 #include <vector>
30 #include <deque>
31 #include <set>
32 
33 #include <omnetpp.h>
34 
35 #include <UnderlayConfigurator.h>
36 #include <ConnectReaSE.h>
37 
38 class AccessInfo;
39 class IPvXAddress;
40 
48 {
49 public:
57 
64  void preKillNode(NodeType type, TransportAddress* addr=NULL);
65 
72  void migrateNode(NodeType type, TransportAddress* addr=NULL);
73 
74 private:
75  // parameters
80 
81 protected:
82 
90  void initializeUnderlay(int stage);
91 
97  void handleTimerEvent(cMessage* msg);
98 
102  void finishUnderlay();
103 
107  void setDisplayString();
108  std::vector<cModule*> accessNode;
109  std::deque<IPvXAddress> killList;
110  std::set<int> scheduledID;
111 
112  // statistics
114  int numKilled;
115 };
116 
117 
118 
119 #endif /* REASEUNDERLAYCONFIGURATOR_H_ */