#include <neighbors.hh>
typedef CoherenceProxy olsr::set::CoherenceProxy::This [private] |
typedef sch::Updatable<Link> olsr::set::CoherenceProxy::ulink_t [private] |
typedef sch::UpdateEvent<upd::LinkUpdater> olsr::set::CoherenceProxy::link_updater_t [private] |
typedef std::set<ulink_t> olsr::set::CoherenceProxy::lset_t [private] |
typedef sch::Updatable<Neighbor> olsr::set::CoherenceProxy::uneighbor_t [private] |
typedef sch::UpdateEvent<upd::NeighborUpdater> olsr::set::CoherenceProxy::neighbor_updater_t [private] |
typedef stampable_nset_ olsr::set::CoherenceProxy::nset_t [private] |
typedef utl::Subset<lset_t> olsr::set::CoherenceProxy::val_lset_t [private] |
typedef utl::Subset<nset_t, utl::NoAction<This, nset_t::iterator>, nset_valid<This, nset_t::iterator>, This> olsr::set::CoherenceProxy::val_nset_t [private] |
typedef utl::Subset<val_nset_t, utl::NoAction<val_nset_t>, nset_sym<val_nset_t> > olsr::set::CoherenceProxy::sym_val_nset_t [private] |
typedef utl::MSIndex<lset_t, 0, address_t> olsr::set::CoherenceProxy::idx_lset_t [private] |
typedef utl::MSIndex<nset_t, 0, address_t> olsr::set::CoherenceProxy::idx_nset_t [private] |
typedef utl::Subset<utl::MSAdapt<idx_lset_t>, utl::NoAction<idx_lset_t>, utl::DefaultPredicate<idx_lset_t>, idx_lset_t> olsr::set::CoherenceProxy::val_idx_lset_t [private] |
typedef utl::Subset<utl::MSAdapt<idx_nset_t>, utl::NoAction<This, idx_nset_t::iterator>, nset_valid<This, idx_nset_t::iterator>, This> olsr::set::CoherenceProxy::val_idx_nset_t [private] |
typedef utl::Subset<utl::MSAdapt<val_idx_nset_t>, val_idx_nset_stamper, nset_sym<val_idx_nset_t>, val_idx_nset_t> olsr::set::CoherenceProxy::sym_val_idx_nset_t [private] |
olsr::set::CoherenceProxy::CoherenceProxy | ( | ) | [inline] |
std::pair< CoherenceProxy::neighborset_t::iterator, bool > olsr::set::CoherenceProxy::insert_link | ( | const msg::Message::header & | mh, | |
const int | linktype, | |||
const int | will | |||
) | [inline] |
Link accounting method.
References ASYM_LINK, olsr::set::Link::asymtime(), olsr::sch::Scheduler::erase(), olsr::cst::hello_grace, idx_lset_, idx_nset_, olsr::utl::TimeVal::in(), olsr::sch::Scheduler::insert(), olsr::utl::MSIndex< Set, Dim, Key, Comp >::insert(), LOST_LINK, lset_, olsr::cst::neighb_hold_time, olsr::utl::TimeVal::now(), nset_, olsr::msg::Message::header::originator, olsr::msg::Message::header::receiver, olsr::scheduler, olsr::msg::Message::header::sender, olsr::set::Link::set_asymtime(), olsr::sch::TimedEvent::set_next(), olsr::set::Link::set_symtime(), olsr::set::Link::set_time(), set_willingness(), SYM_LINK, olsr::set::Link::time(), update_state(), and olsr::msg::Message::header::validity.
Referenced by olsr::msg::HELLOMessage::parse().
void olsr::set::CoherenceProxy::set_willingness | ( | const nset_t::iterator & | pos, | |
unsigned | w | |||
) | [inline] |
Willingness setting proxy method.
> WILL_NEVER
, a node in the graph must exist with a weight of w - 1
if the node is not an MPR and a weight of w - 1 + WILL_DEFAULT
otherwise. If the willingness is set to WILL_DEFAULT
, the node must be removed from the graph.
References olsr::mprset_recomp, olsr::routes_recomp, olsr::utl::Mark::set_mark(), and update_graph().
Referenced by insert_link().
void olsr::set::CoherenceProxy::update_graph | ( | const nset_t::iterator & | pos | ) | [inline] |
Graph updating method.
References olsr::gra::AdjGraph::insert_node(), olsr::gra::AdjGraph::nodes(), olsr::path_net, olsr::gra::AdjGraph::remove_node_if_alone(), and WILL_DEFAULT.
Referenced by set_mpr(), set_sym(), set_willingness(), unset_mpr(), and unset_sym().
bool olsr::set::CoherenceProxy::update_state | ( | const nset_t::iterator & | pos | ) | [inline] |
Neighbor state updating method.
References nset_, olsr::routes_recomp, olsr::utl::Mark::set_mark(), set_sym(), and unset_sym().
Referenced by insert_link(), is_valid(), olsr::set::upd::LinkUpdater::operator()(), and update_state().
void olsr::set::CoherenceProxy::update_state | ( | const address_t & | maddr | ) | [inline] |
References olsr::set::Neighbor::make_key(), nset_, and update_state().
void olsr::set::CoherenceProxy::set_sym | ( | const nset_t::iterator & | pos | ) | [inline] |
Method to set a neighbor's symmetric flag
References olsr::advset_changed, advset_changed_, olsr::mprset_recomp, nset_, olsr::routes_recomp, olsr::utl::Mark::set_mark(), sym_count_, olsr::tc_redundancy, and update_graph().
Referenced by update_state().
void olsr::set::CoherenceProxy::unset_sym | ( | const nset_t::iterator & | pos | ) | [inline] |
Method to unset a neighbor's symmetric flag
References olsr::advset_changed, advset_changed_, olsr::mprset_recomp, nset_, olsr::routes_recomp, olsr::utl::Mark::set_mark(), sym_count_, olsr::tc_redundancy, unset_mpr(), unset_mprsel(), and update_graph().
Referenced by erase_from_all(), and update_state().
void olsr::set::CoherenceProxy::set_mpr | ( | const nset_t::iterator & | pos | ) | [inline] |
References olsr::advset_changed, advset_changed_, mpr_count_, nset_, olsr::utl::Mark::set_mark(), olsr::tc_redundancy, and update_graph().
Referenced by olsr::alg::mprselection(), and set_mpr().
void olsr::set::CoherenceProxy::set_mpr | ( | const sym_neighborset_t::iterator & | pos | ) | [inline] |
References set_mpr().
void olsr::set::CoherenceProxy::unset_mpr | ( | const nset_t::iterator & | pos | ) | [inline] |
References olsr::advset_changed, advset_changed_, mpr_count_, nset_, olsr::utl::Mark::set_mark(), olsr::tc_redundancy, and update_graph().
Referenced by olsr::alg::mprselection(), unset_mpr(), and unset_sym().
void olsr::set::CoherenceProxy::unset_mpr | ( | const sym_neighborset_t::iterator & | pos | ) | [inline] |
References unset_mpr().
void olsr::set::CoherenceProxy::set_mprsel | ( | const nset_t::iterator & | pos, | |
const timeval_t & | v | |||
) | [inline] |
void olsr::set::CoherenceProxy::unset_mprsel | ( | const nset_t::iterator & | pos | ) | [inline] |
bool olsr::set::CoherenceProxy::is_advset_empty | ( | ) | [inline] |
bool olsr::set::CoherenceProxy::is_hold_expired | ( | ) | const [inline] |
References olsr::utl::Stampable::expired(), nset_, and olsr::cst::top_hold_time.
Referenced by olsr::sch::MessageSender< msg::TCMessage >::handle().
void olsr::set::CoherenceProxy::stamp_hold | ( | ) | [inline] |
References nset_, and olsr::utl::Stampable::set_stamp().
Referenced by olsr::msg::TCMessage::dump().
bool olsr::set::CoherenceProxy::is_valid | ( | const nset_t::iterator & | pos | ) | [inline] |
bool olsr::set::CoherenceProxy::is_valid | ( | const idx_nset_t::iterator & | pos | ) | [inline] |
References update_state().
void olsr::set::CoherenceProxy::erase | ( | lset_t::iterator | pos | ) | [inline] |
References olsr::utl::MSIndex< Set, Dim, Key, Comp >::erase(), erase_from_all(), idx_lset_, is_valid(), lset_, olsr::set::Neighbor::make_key(), and nset_.
Referenced by olsr::set::upd::LinkUpdater::operator()(), remove_interface(), and ~CoherenceProxy().
void olsr::set::CoherenceProxy::erase_from_all | ( | nset_t::iterator | pos | ) | [inline, private] |
References olsr::utl::MSIndex< Set, Dim, Key, Comp >::erase(), idx_nset_, nset_, and unset_sym().
Referenced by erase().
linkset_t& olsr::set::CoherenceProxy::linkset | ( | ) | [inline] |
References linkset_.
Referenced by olsr::msg::Message::forward(), olsr::msg::TCMessage::parse(), olsr::pkt::Packet::parse(), olsr::msg::MIDMessage::parse(), and olsr::msg::HNAMessage::parse().
hello_linkset_t& olsr::set::CoherenceProxy::hello_linkset | ( | ) | [inline] |
neighborset_t& olsr::set::CoherenceProxy::neighborset | ( | ) | [inline] |
sym_neighborset_t& olsr::set::CoherenceProxy::sym_neighborset | ( | ) | [inline] |
tc_neighborset_t& olsr::set::CoherenceProxy::tc_neighborset | ( | ) | [inline] |
const utl::Seqnum<u_int16_t>& olsr::set::CoherenceProxy::advset_seqnum | ( | ) | [inline] |
void olsr::set::CoherenceProxy::add_interface | ( | const address_t & | a | ) | [inline] |
References olsr::utl::MSIndex< Set, Dim, Key, Comp >::add_key(), idx_lset_, and idx_nset_.
Referenced by olsr::set::InterfaceSet::insert().
void olsr::set::CoherenceProxy::remove_interface | ( | const address_t & | a | ) | [inline] |
friend class sch::StatePrinter [friend] |
lset_t olsr::set::CoherenceProxy::lset_ [private] |
Referenced by erase(), olsr::sch::StatePrinter::handle(), insert_link(), and ~CoherenceProxy().
nset_t olsr::set::CoherenceProxy::nset_ [private] |
linkset_t olsr::set::CoherenceProxy::linkset_ [private] |
Referenced by linkset(), and remove_interface().
Referenced by add_interface(), erase(), insert_link(), and remove_interface().
Referenced by hello_linkset().
Referenced by neighborset().
Referenced by is_advset_empty(), and sym_neighborset().
Referenced by add_interface(), erase_from_all(), insert_link(), and remove_interface().
Referenced by tc_neighborset().
utl::Seqnum<u_int16_t> olsr::set::CoherenceProxy::advset_seqnum_ [private] |
Referenced by advset_seqnum().
bool olsr::set::CoherenceProxy::advset_changed_ [private] |
Referenced by advset_seqnum(), set_mpr(), set_mprsel(), set_sym(), unset_mpr(), unset_mprsel(), and unset_sym().
unsigned olsr::set::CoherenceProxy::sym_count_ [private] |
Referenced by set_sym(), and unset_sym().
unsigned olsr::set::CoherenceProxy::mpr_count_ [private] |
Referenced by set_mpr(), and unset_mpr().
bool olsr::set::CoherenceProxy::mprsel_empty_ [private] |
Referenced by is_advset_empty(), and set_mprsel().