|
| ||||||||||||||||
Association class between TwoHopNeighbor and Neighbor. TwoHopNeighbor cannot exist without TwoHopLink. Like Link and Neighbor, there is a co-dependent relationship. Both TwoHopNeighbor and TwoHopLink cannot exist without Neighbor.
TwoHopLinks are uniquely identified by the ID of the two-hop neighbor at the far end, and the Neighbor at the near end. When the last TwoHopLink associated with a TwoHopNeighbor is deleted, the TwoHopNeighbor MUST be deleted, to conform to the relations in the RFC.
| TwoHopLink (EventLoop& ev, Neighborhood* parent,
OlsrTypes::TwoHopLinkID tlid,
Neighbor* nexthop, const TimeVal& vtime)
| TwoHopLink |
| inline OlsrTypes::TwoHopLinkID id ()
| id |
[const]
Returns: A unique identifier for this link in the two-hop neighborhood.
| inline Neighbor* nexthop ()
| nexthop |
[const]
Returns: A pointer to the strict one-hop neighbor at the near end of this link.
| inline TwoHopNeighbor* destination ()
| destination |
[const]
Returns: A pointer to the strict two-hop neighbor at the far end of this link.
| inline void set_destination (TwoHopNeighbor* destination)
| set_destination |
Set the cached destination pointer.
Parameters:
| destination | the TwoHopNeighbor at the end of this link. |
| inline OlsrTypes::FaceID face_id ()
| face_id |
[const]
Returns: The ID of the interface where the advertisement of this TwoHopLink was last heard by a Neighbor.
| inline double near_etx ()
| near_etx |
[const]
Returns: ETX measurement at near end of link.
| inline double far_etx ()
| far_etx |
[const]
Returns: ETX measurement at far end of link.
| inline void set_face_id (const OlsrTypes::FaceID faceid)
| set_face_id |
Set the ID of the interface where this link was last heard.
Parameters:
| faceid | the ID of the interface. |
| inline void set_near_etx (const double& near_etx)
| set_near_etx |
Set the ETX measurement at near end of link.
Parameters:
| near_etx | near end ETX measurement. |
| inline void set_far_etx (const double& far_etx)
| set_far_etx |
Set the ETX measurement at far end of link.
Parameters:
| far_etx | far end ETX measurement. |
| inline TimeVal time_remaining ()
| time_remaining |
[const]
Returns: the amount of time remaining until this two-hop link expires.
| void update_timer (const TimeVal& vtime)
| update_timer |
Update this link's expiry timer.
Parameters:
| vtime | the amount of time from now til when the link expires. |
| void event_dead ()
| event_dead |
Callback method to: tell the parent that this two-hop link has now expired.