Classes | |
struct | sort_less |
Typedefs | |
typedef cproxy_t::sym_neighborset_t::iterator | sniter_t |
typedef std::map< address_t, std::pair< address_t, sniter_t > > | lmap_t |
typedef std::hash_map < address_t, unsigned > | weightmap_t |
typedef std::hash_map < address_t, address_t > | nextmap_t |
typedef std::hash_map < address_t, unsigned > | hopsmap_t |
typedef std::hash_set< const gra::AdjNode *, gra::hash_AdjNode, utl::pequal_to< gra::AdjNode > > | npset_t |
typedef std::set< const gra::AdjNode *, sort_less > | sortremaining_t |
Functions | |
void | dijkstra (rrouteset_t &routes, lmap_t &sources) |
const address_t & | main_addr_of (const address_t &) |
void | mprselection () |
void | compute_routes () |
void | flush_routes (const lrouteset_t &local_rs, const rrouteset_t &remote_rs) |
void | clean_routes () |
typedef std::hash_map<address_t, unsigned> olsr::alg::hopsmap_t |
typedef std::map<address_t, std::pair<address_t, sniter_t> > olsr::alg::lmap_t |
typedef std::hash_map<address_t, address_t> olsr::alg::nextmap_t |
typedef std::hash_set<const gra::AdjNode*, gra::hash_AdjNode, utl::pequal_to<gra::AdjNode> > olsr::alg::npset_t |
typedef std::set<const gra::AdjNode*, sort_less> olsr::alg::sortremaining_t |
typedef std::hash_map<address_t, unsigned> olsr::alg::weightmap_t |
void olsr::alg::clean_routes | ( | ) | [inline] |
References olsr::debug, olsr::notables, and olsr::sys::RoutingActions::remove_old_routes().
Referenced by main().
void olsr::alg::compute_routes | ( | ) | [inline] |
Routine to calculate new routing tables
References ADDRESS_SIZE, olsr::utl::Set< Elem, Iset, Iter, CIter >::begin(), olsr::cproxy, olsr::debug, dijkstra(), olsr::utl::Set< Elem, Iset, Iter, CIter >::end(), olsr::utl::Set< Elem, Iset, Iter, CIter >::find(), flush_routes(), olsr::hna_set, olsr::set::HNASet::hnaset(), olsr::iface_set, olsr::utl::Set< Elem, Iset, Iter, CIter >::insert(), olsr::lroute_set, olsr::mid_set, olsr::set::MIDSet::midset(), olsr::rroute_set, and olsr::set::CoherenceProxy::sym_neighborset().
Referenced by olsr::sch::QolyesterLoopHandler::operator()().
void olsr::alg::dijkstra | ( | rrouteset_t & | routes, | |
lmap_t & | sources | |||
) | [inline] |
References ADDRESS_SIZE, olsr::gra::AdjGraph::arcs(), olsr::debug, olsr::gra::AdjNode::endpoint(), olsr::utl::Set< Elem, Iset, Iter, CIter >::insert(), olsr::gra::AdjInfo::make_key(), olsr::gra::AdjNode::make_key(), olsr::gra::AdjGraph::nodes(), olsr::path_net, olsr::gra::topo, olsr::gra::twohop, and olsr::gra::AdjNode::weight().
Referenced by compute_routes().
void olsr::alg::flush_routes | ( | const lrouteset_t & | local_rs, | |
const rrouteset_t & | remote_rs | |||
) | [inline] |
Routine to apply new routing tables
References olsr::sys::RoutingActions::add_local_route(), olsr::sys::RoutingActions::add_remote_route(), olsr::utl::Set< Elem, Iset, Iter, CIter >::begin(), olsr::debug, olsr::utl::Set< Elem, Iset, Iter, CIter >::end(), olsr::lroute_set, olsr::notables, olsr::sys::RoutingActions::print_kernel_routes(), olsr::sys::RoutingActions::remove_local_route(), olsr::sys::RoutingActions::remove_remote_route(), and olsr::rroute_set.
Referenced by compute_routes(), and olsr::sch::remove_routes().
const address_t & olsr::alg::main_addr_of | ( | const address_t & | addr | ) | [inline] |
References olsr::set::InterfaceSet::end(), olsr::set::InterfaceSet::find(), olsr::iface_set, olsr::main_addr, olsr::set::MIDEntry::make_key(), olsr::mid_set, and olsr::set::MIDSet::midset().
Referenced by olsr::msg::Message::forward(), olsr::set::TwoHopNeighborSet::insert(), olsr::pkt::Packet::parse(), and olsr::msg::HELLOMessage::parse().
void olsr::alg::mprselection | ( | ) | [inline] |
References olsr::net::RealInterface::addr(), olsr::advset_changed, olsr::set::InterfaceSet::begin(), olsr::cproxy, olsr::debug, olsr::set::InterfaceSet::end(), olsr::iface_set, olsr::set::Neighbor::main_addr(), olsr::set::Neighbor::make_key(), olsr::routes_recomp, olsr::utl::Mark::set_mark(), olsr::set::CoherenceProxy::set_mpr(), olsr::set::CoherenceProxy::sym_neighborset(), olsr::tc_redundancy, olsr::thn_set, olsr::set::TwoHopNeighborSet::thnset(), olsr::set::CoherenceProxy::unset_mpr(), WILL_ALWAYS, WILL_NEVER, and olsr::set::Neighbor::willingness().
Referenced by olsr::sch::QolyesterLoopHandler::operator()().