nlsr::RoutingTable Class Reference

#include <routing-table.hpp>

Collaboration diagram for nlsr::RoutingTable:
[legend]

Public Member Functions

 RoutingTable (ndn::Scheduler &scheduler)
 
void calculate (Nlsr &pnlsr)
 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 (Nlsr &pnlsr)
 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
 

Data Fields

std::unique_ptr< AfterRoutingChangeafterRoutingChange
 

Detailed Description

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

Constructor & Destructor Documentation

nlsr::RoutingTable::RoutingTable ( ndn::Scheduler &  scheduler)

Definition at line 37 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 192 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 243 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 ( Nlsr pnlsr)

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

Parameters
pnlsrThe NLSR object that contains the LSAs needed for adj. info.

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

Definition at line 46 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 208 of file routing-table.cpp.

Here is the call graph for this function:

Here is the caller graph for this function:

int nlsr::RoutingTable::getNoNextHop ( )
inline

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

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

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

void nlsr::RoutingTable::scheduleRoutingTableCalculation ( Nlsr pnlsr)

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

Parameters
pnlsrThe NLSR whose scheduling status is needed.

Definition at line 173 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 84 of file routing-table.hpp.

Here is the caller graph for this function:

Field Documentation

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

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