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)
 
void calculate (Nlsr &nlsr)
 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
 
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 40 of file routing-table.hpp.

Constructor & Destructor Documentation

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

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 nlsr)

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

Parameters
nlsrThe 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:

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 ( 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 85 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 137 of file routing-table.hpp.