|
xorp
|
Logical link used to reach a directly reachable Neighbor. More...
#include <link.hh>
Public Member Functions | |
| LogicalLink (Neighborhood *tm, EventLoop &eventloop, const OlsrTypes::LogicalLinkID id, const TimeVal &vtime, const IPv4 &remote_addr, const IPv4 &local_addr) | |
| OlsrTypes::LogicalLinkID | id () const |
| OlsrTypes::NeighborID | neighbor_id () const |
| void | set_neighbor_id (OlsrTypes::NeighborID neighborid) |
| Set the ID of the neighbor at the far end of this link. | |
| Neighbor * | destination () const |
| void | set_destination (Neighbor *n) |
| Set the cached neighbor pointer. | |
| OlsrTypes::FaceID | faceid () const |
| void | set_faceid (OlsrTypes::FaceID faceid) |
| Set the ID of the local interface where this link resides. | |
| IPv4 | local_addr () const |
| IPv4 | remote_addr () const |
| double | near_etx () const |
| double | far_etx () const |
| void | update_timers (const TimeVal &vtime, bool saw_self=false, const LinkCode lc=LinkCode()) |
| Update the link timers, based on the information present in a HELLO message. | |
| OlsrTypes::LinkType | link_type () const |
| Determine the current state of the link. | |
| bool | is_sym () const |
| TimeVal | sym_time_remaining () const |
| TimeVal | asym_time_remaining () const |
| TimeVal | time_remaining () const |
| bool | pending () const |
| Determine if a link is pending (i.e. | |
| void | event_sym_timer () |
| Callback method to: service a LogicalLink's SYM timer. | |
| void | event_asym_timer () |
| Callback method to: service a LogicalLink's ASYM timer. | |
| void | event_lost_timer () |
| Callback method to: service a LogicalLink's LOST timer. | |
| void | event_dead_timer () |
| Callback method to: service a LogicalLink's DEAD timer. | |
Private Attributes | |
| Neighborhood * | _nh |
| EventLoop & | _eventloop |
| OlsrTypes::LogicalLinkID | _id |
| Unique identifier of link. | |
| OlsrTypes::FaceID | _faceid |
| ID of interface where this link resides. | |
| OlsrTypes::NeighborID | _neighborid |
| ID of neighbor at other end of link. | |
| Neighbor * | _destination |
| Cached pointer to Neighbor. | |
| IPv4 | _remote_addr |
| L_neighbor_iface_addr protocol variable. | |
| IPv4 | _local_addr |
| L_local_iface_addr protocol variable. | |
| XorpTimer | _sym_timer |
| L_SYM_time protocol variable. | |
| XorpTimer | _asym_timer |
| L_ASYM_time protocol variable. | |
| XorpTimer | _lost_timer |
| L_LOST_LINK_time protocol variable. | |
| XorpTimer | _dead_timer |
| L_time protocol variable. | |
| bool | _is_pending |
| L_link_pending protocol variable. | |
| double | _near_etx |
| L_link_etx protocol variable. | |
| double | _far_etx |
| ETX far-end measurement. | |
Logical link used to reach a directly reachable Neighbor.
LogicalLink is so named because it is mostly independent of the underlying link layer. OLSR uses link-layer broadcasts or multicasts for the purposes of neighbor discovery, and links are created through the exchange of HELLO messages. LogicalLink may be associated with link-layer specific state, e.g. that of an 802.11s mesh portal.
| TimeVal LogicalLink::asym_time_remaining | ( | ) | const [inline] |
| void LogicalLink::event_dead_timer | ( | ) |
Callback method to: service a LogicalLink's DEAD timer.
This is immediately passed to the parent Neighborhood as the link may be deleted.
| OlsrTypes::FaceID LogicalLink::faceid | ( | ) | const [inline] |
| double LogicalLink::far_etx | ( | ) | const [inline] |
| OlsrTypes::LogicalLinkID LogicalLink::id | ( | ) | const [inline] |
| bool LogicalLink::is_sym | ( | ) | const [inline] |
| OlsrTypes::LinkType LogicalLink::link_type | ( | ) | const |
| IPv4 LogicalLink::local_addr | ( | ) | const [inline] |
| double LogicalLink::near_etx | ( | ) | const [inline] |
| OlsrTypes::NeighborID LogicalLink::neighbor_id | ( | ) | const [inline] |
| bool LogicalLink::pending | ( | ) | const [inline] |
| IPv4 LogicalLink::remote_addr | ( | ) | const [inline] |
| void LogicalLink::set_destination | ( | Neighbor * | n | ) | [inline] |
| void LogicalLink::set_faceid | ( | OlsrTypes::FaceID | faceid | ) | [inline] |
| void LogicalLink::set_neighbor_id | ( | OlsrTypes::NeighborID | neighborid | ) | [inline] |
| TimeVal LogicalLink::sym_time_remaining | ( | ) | const [inline] |
| TimeVal LogicalLink::time_remaining | ( | ) | const [inline] |
IPv4 LogicalLink::_local_addr [private] |
L_local_iface_addr protocol variable.
The protocol address of our local interface.
IPv4 LogicalLink::_remote_addr [private] |
L_neighbor_iface_addr protocol variable.
The protocol address of the neighbor's interface.