nlsr::RoutingTable Class Reference

#include <routing-table.hpp>

Inheritance diagram for nlsr::RoutingTable:
[legend]
Collaboration diagram for nlsr::RoutingTable:
[legend]

Public Member Functions

 RoutingTable (ndn::Scheduler &scheduler, Fib &fib, Lsdb &lsdb, NamePrefixTable &namePrefixTable, ConfParameter &confParam)
 
void calculate ()
 Calculates a list of next hops for each router in the network. More...
 
void addNextHop (const ndn::Name &destRouter, NextHop &nh)
 Adds a next hop to a routing table entry. More...
 
void addNextHopToDryTable (const ndn::Name &destRouter, NextHop &nh)
 Adds a next hop to a routing table entry in a dry run scenario. More...
 
RoutingTableEntryfindRoutingTableEntry (const ndn::Name &destRouter)
 
void scheduleRoutingTableCalculation ()
 Schedules a calculation event in the event scheduler only if one isn't already scheduled. More...
 
int getNoNextHop ()
 
void setRoutingCalcInterval (uint32_t interval)
 
const ndn::time::seconds & getRoutingCalcInterval () const
 
const std::list< RoutingTableEntry > & getRoutingTableEntry () const
 
const std::list< RoutingTableEntry > & getDryRoutingTableEntry () const
 
uint64_t getRtSize ()
 

Data Fields

std::unique_ptr< AfterRoutingChangeafterRoutingChange
 

Detailed Description

Definition at line 41 of file routing-table.hpp.

Constructor & Destructor Documentation

nlsr::RoutingTable::RoutingTable ( ndn::Scheduler &  scheduler,
Fib fib,
Lsdb lsdb,
NamePrefixTable namePrefixTable,
ConfParameter confParam 
)
explicit

Definition at line 38 of file routing-table.cpp.

Member Function Documentation

void nlsr::RoutingTable::addNextHop ( const ndn::Name &  destRouter,
NextHop nh 
)

Adds a next hop to a routing table entry.

Parameters
destRouterThe destination router whose RTE we want to modify.
nhThe next hop to add to the RTE.

Definition at line 180 of file routing-table.cpp.

Here is the call graph for this function:

Here is the caller graph for this function:

void nlsr::RoutingTable::addNextHopToDryTable ( const ndn::Name &  destRouter,
NextHop nh 
)

Adds a next hop to a routing table entry in a dry run scenario.

Parameters
destRouterThe destination router whose RTE we want to modify.
nhThe next hop to add to the router.

Definition at line 229 of file routing-table.cpp.

Here is the call graph for this function:

Here is the caller graph for this function:

void nlsr::RoutingTable::calculate ( )

Calculates a list of next hops for each router in the network.

Calculates the list of next hops to every other router in the network.

Definition at line 54 of file routing-table.cpp.

Here is the call graph for this function:

Here is the caller graph for this function:

RoutingTableEntry * nlsr::RoutingTable::findRoutingTableEntry ( const ndn::Name &  destRouter)

Definition at line 196 of file routing-table.cpp.

Here is the call graph for this function:

Here is the caller graph for this function:

const std::list<RoutingTableEntry>& nlsr::RoutingTable::getDryRoutingTableEntry ( ) const
inline

Definition at line 103 of file routing-table.hpp.

int nlsr::RoutingTable::getNoNextHop ( )
inline

Definition at line 79 of file routing-table.hpp.

const ndn::time::seconds& nlsr::RoutingTable::getRoutingCalcInterval ( ) const
inline

Definition at line 91 of file routing-table.hpp.

const std::list<RoutingTableEntry>& nlsr::RoutingTable::getRoutingTableEntry ( ) const
inline

Definition at line 97 of file routing-table.hpp.

uint64_t nlsr::RoutingTable::getRtSize ( )
inline

Definition at line 109 of file routing-table.hpp.

void nlsr::RoutingTable::scheduleRoutingTableCalculation ( )

Schedules a calculation event in the event scheduler only if one isn't already scheduled.

Definition at line 161 of file routing-table.cpp.

Here is the call graph for this function:

Here is the caller graph for this function:

void nlsr::RoutingTable::setRoutingCalcInterval ( uint32_t  interval)
inline

Definition at line 85 of file routing-table.hpp.

Field Documentation

std::unique_ptr<AfterRoutingChange> nlsr::RoutingTable::afterRoutingChange

Definition at line 133 of file routing-table.hpp.