akmhoque | dfa4a5b | 2014-02-03 20:12:29 -0600 | [diff] [blame] | 1 | #ifndef NLSR_RT_HPP |
| 2 | #define NLSR_RT_HPP |
| 3 | |
| 4 | #include<iostream> |
| 5 | #include<string> |
| 6 | |
| 7 | #include "nlsr_rte.hpp" |
| 8 | |
akmhoque | 79d355f | 2014-02-04 15:11:16 -0600 | [diff] [blame] | 9 | class nlsr; |
| 10 | |
akmhoque | dfa4a5b | 2014-02-03 20:12:29 -0600 | [diff] [blame] | 11 | using namespace std; |
| 12 | |
| 13 | class RoutingTable |
| 14 | { |
| 15 | public: |
| 16 | RoutingTable() |
| 17 | { |
| 18 | } |
akmhoque | 79d355f | 2014-02-04 15:11:16 -0600 | [diff] [blame] | 19 | void calculate(nlsr& pnlsr); |
akmhoque | dfa4a5b | 2014-02-03 20:12:29 -0600 | [diff] [blame] | 20 | |
| 21 | private: |
akmhoque | 79d355f | 2014-02-04 15:11:16 -0600 | [diff] [blame] | 22 | void calculateLsRoutingTable(nlsr& pnlsr); |
| 23 | void calculateHypRoutingTable(nlsr& pnlsr); |
| 24 | void calculateHypDryRoutingTable(nlsr&pnlsr); |
| 25 | |
| 26 | void clearRoutingTable(); |
| 27 | void clearDryRoutingTable(); |
| 28 | |
akmhoque | dfa4a5b | 2014-02-03 20:12:29 -0600 | [diff] [blame] | 29 | std::list< RoutingTableEntry > rTable; |
akmhoque | 79d355f | 2014-02-04 15:11:16 -0600 | [diff] [blame] | 30 | std::list< RoutingTableEntry > dryTable; |
akmhoque | dfa4a5b | 2014-02-03 20:12:29 -0600 | [diff] [blame] | 31 | }; |
| 32 | |
| 33 | #endif |