blob: 05beda4692967c3d98ffa9c757e80f9e714a6082 [file] [log] [blame]
akmhoquedfa4a5b2014-02-03 20:12:29 -06001#ifndef NLSR_RT_HPP
2#define NLSR_RT_HPP
3
4#include<iostream>
5#include<string>
6
7#include "nlsr_rte.hpp"
8
akmhoque79d355f2014-02-04 15:11:16 -06009class nlsr;
10
akmhoquedfa4a5b2014-02-03 20:12:29 -060011using namespace std;
12
13class RoutingTable
14{
15public:
16 RoutingTable()
17 {
18 }
akmhoque79d355f2014-02-04 15:11:16 -060019 void calculate(nlsr& pnlsr);
akmhoquedfa4a5b2014-02-03 20:12:29 -060020
21private:
akmhoque79d355f2014-02-04 15:11:16 -060022 void calculateLsRoutingTable(nlsr& pnlsr);
23 void calculateHypRoutingTable(nlsr& pnlsr);
24 void calculateHypDryRoutingTable(nlsr&pnlsr);
25
26 void clearRoutingTable();
27 void clearDryRoutingTable();
28
akmhoquedfa4a5b2014-02-03 20:12:29 -060029 std::list< RoutingTableEntry > rTable;
akmhoque79d355f2014-02-04 15:11:16 -060030 std::list< RoutingTableEntry > dryTable;
akmhoquedfa4a5b2014-02-03 20:12:29 -060031};
32
33#endif