22 #ifndef NLSR_ROUTING_TABLE_HPP 23 #define NLSR_ROUTING_TABLE_HPP 32 #include <boost/cstdint.hpp> 33 #include <ndn-cxx/util/scheduler.hpp> 86 m_routingCalcInterval = ndn::time::seconds(interval);
89 const ndn::time::seconds&
92 return m_routingCalcInterval;
98 calculateLsRoutingTable(
Nlsr& pnlsr);
102 calculateHypRoutingTable(
Nlsr& pnlsr);
106 calculateHypDryRoutingTable(
Nlsr& pnlsr);
112 clearDryRoutingTable();
115 writeLog(
int hyperbolicState);
121 std::list<RoutingTableEntry> m_rTable;
124 ndn::Scheduler& m_scheduler;
126 const int m_NO_NEXT_HOP;
128 std::list<RoutingTableEntry> m_dryTable;
130 ndn::time::seconds m_routingCalcInterval;
135 #endif // NLSR_ROUTING_TABLE_HPP #define PUBLIC_WITH_TESTS_ELSE_PRIVATE
void calculate(Nlsr &pnlsr)
Calculates a list of next hops for each router in the network.
RoutingTable(ndn::Scheduler &scheduler)
void scheduleRoutingTableCalculation(Nlsr &pnlsr)
Schedules a calculation event in the event scheduler only if one isn't already scheduled.
void setRoutingCalcInterval(uint32_t interval)
Copyright (c) 2014-2017, The University of Memphis, Regents of the University of California, Arizona Board of Regents.
void addNextHopToDryTable(const ndn::Name &destRouter, NextHop &nh)
Adds a next hop to a routing table entry in a dry run scenario.
RoutingTableEntry * findRoutingTableEntry(const ndn::Name &destRouter)
std::unique_ptr< AfterRoutingChange > afterRoutingChange
void addNextHop(const ndn::Name &destRouter, NextHop &nh)
Adds a next hop to a routing table entry.
const ndn::time::seconds & getRoutingCalcInterval() const