This class encapsulates all data structures needed for maintaining internal state of an OLSR node. More...
#include <olsr-state.h>
Protected Attributes | |
Associations | m_associations |
The node's local Host Network Associations that will be advertised using HNA messages. More... | |
AssociationSet | m_associationSet |
Association Set (RFC 3626, section12.2). Associations obtained from HNA messages generated by other nodes. More... | |
DuplicateSet | m_duplicateSet |
Duplicate Set (RFC 3626, section 3.4). More... | |
IfaceAssocSet | m_ifaceAssocSet |
Interface Association Set (RFC 3626, section 4.1). More... | |
LinkSet | m_linkSet |
Link Set (RFC 3626, section 4.2.1). More... | |
MprSelectorSet | m_mprSelectorSet |
MPR Selector Set (RFC 3626, section 4.3.4). More... | |
MprSet | m_mprSet |
MPR Set (RFC 3626, section 4.3.3). More... | |
NeighborSet | m_neighborSet |
Neighbor Set (RFC 3626, section 4.3.1). More... | |
TopologySet | m_topologySet |
Topology Set (RFC 3626, section 4.4). More... | |
TwoHopNeighborSet | m_twoHopNeighborSet |
2-hop Neighbor Set (RFC 3626, section 4.3.2). More... | |
This class encapsulates all data structures needed for maintaining internal state of an OLSR node.
Definition at line 35 of file olsr-state.h.
|
inline |
Definition at line 53 of file olsr-state.h.
void ns3::OlsrState::EraseAssociation | ( | const Association & | tuple | ) |
Definition at line 527 of file olsr-state.cc.
References m_associations.
Referenced by ns3::olsr::RoutingProtocol::RemoveHostNetworkAssociation().
void ns3::OlsrState::EraseAssociationTuple | ( | const AssociationTuple & | tuple | ) |
Definition at line 507 of file olsr-state.cc.
References m_associationSet.
Referenced by ns3::olsr::RoutingProtocol::RemoveAssociationTuple().
void ns3::OlsrState::EraseDuplicateTuple | ( | const DuplicateTuple & | tuple | ) |
Definition at line 296 of file olsr-state.cc.
References m_duplicateSet.
Referenced by ns3::olsr::RoutingProtocol::RemoveDuplicateTuple().
void ns3::OlsrState::EraseIfaceAssocTuple | ( | const IfaceAssocTuple & | tuple | ) |
Definition at line 458 of file olsr-state.cc.
References m_ifaceAssocSet.
Referenced by ns3::olsr::RoutingProtocol::RemoveIfaceAssocTuple().
void ns3::OlsrState::EraseLinkTuple | ( | const LinkTuple & | tuple | ) |
Definition at line 347 of file olsr-state.cc.
References m_linkSet.
Referenced by ns3::olsr::RoutingProtocol::RemoveLinkTuple().
void ns3::OlsrState::EraseMprSelectorTuple | ( | const MprSelectorTuple & | tuple | ) |
Definition at line 50 of file olsr-state.cc.
References m_mprSelectorSet.
Referenced by ns3::olsr::RoutingProtocol::RemoveMprSelectorTuple().
void ns3::OlsrState::EraseMprSelectorTuples | ( | const Ipv4Address & | mainAddr | ) |
Definition at line 64 of file olsr-state.cc.
References m_mprSelectorSet.
Referenced by ns3::olsr::RoutingProtocol::NeighborLoss().
void ns3::OlsrState::EraseNeighborTuple | ( | const NeighborTuple & | neighborTuple | ) |
Definition at line 144 of file olsr-state.cc.
References m_neighborSet.
Referenced by ns3::olsr::RoutingProtocol::RemoveLinkTuple(), and ns3::olsr::RoutingProtocol::RemoveNeighborTuple().
void ns3::OlsrState::EraseNeighborTuple | ( | const Ipv4Address & | mainAddr | ) |
Definition at line 158 of file olsr-state.cc.
References m_neighborSet.
void ns3::OlsrState::EraseOlderTopologyTuples | ( | const Ipv4Address & | lastAddr, |
uint16_t | ansn | ||
) |
Definition at line 409 of file olsr-state.cc.
References m_topologySet.
Referenced by ns3::olsr::RoutingProtocol::ProcessTc().
void ns3::OlsrState::EraseTopologyTuple | ( | const TopologyTuple & | tuple | ) |
Definition at line 395 of file olsr-state.cc.
References m_topologySet.
Referenced by ns3::olsr::RoutingProtocol::RemoveTopologyTuple().
void ns3::OlsrState::EraseTwoHopNeighborTuple | ( | const TwoHopNeighborTuple & | tuple | ) |
Definition at line 206 of file olsr-state.cc.
References m_twoHopNeighborSet.
Referenced by ns3::olsr::RoutingProtocol::RemoveTwoHopNeighborTuple().
void ns3::OlsrState::EraseTwoHopNeighborTuples | ( | const Ipv4Address & | neighbor | ) |
Definition at line 239 of file olsr-state.cc.
References m_twoHopNeighborSet.
Referenced by ns3::olsr::RoutingProtocol::NeighborLoss(), and ns3::olsr::RoutingProtocol::PopulateTwoHopNeighborSet().
void ns3::OlsrState::EraseTwoHopNeighborTuples | ( | const Ipv4Address & | neighbor, |
const Ipv4Address & | twoHopNeighbor | ||
) |
Definition at line 220 of file olsr-state.cc.
References m_twoHopNeighborSet.
AssociationTuple * ns3::OlsrState::FindAssociationTuple | ( | const Ipv4Address & | gatewayAddr, |
const Ipv4Address & | networkAddr, | ||
const Ipv4Mask & | netmask | ||
) |
Definition at line 493 of file olsr-state.cc.
References m_associationSet.
Referenced by ns3::olsr::RoutingProtocol::AssociationTupleTimerExpire(), and ns3::olsr::RoutingProtocol::ProcessHna().
DuplicateTuple * ns3::OlsrState::FindDuplicateTuple | ( | const Ipv4Address & | address, |
uint16_t | sequenceNumber | ||
) |
Definition at line 284 of file olsr-state.cc.
References m_duplicateSet.
Referenced by ns3::olsr::RoutingProtocol::DupTupleTimerExpire(), and ns3::olsr::RoutingProtocol::RecvOlsr().
IfaceAssocTuple * ns3::OlsrState::FindIfaceAssocTuple | ( | const Ipv4Address & | ifaceAddr | ) |
Definition at line 434 of file olsr-state.cc.
References m_ifaceAssocSet.
Referenced by ns3::olsr::RoutingProtocol::GetMainAddress(), and ns3::olsr::RoutingProtocol::IfaceAssocTupleTimerExpire().
const IfaceAssocTuple * ns3::OlsrState::FindIfaceAssocTuple | ( | const Ipv4Address & | ifaceAddr | ) | const |
Definition at line 446 of file olsr-state.cc.
References m_ifaceAssocSet.
LinkTuple * ns3::OlsrState::FindLinkTuple | ( | const Ipv4Address & | ifaceAddr | ) |
Definition at line 318 of file olsr-state.cc.
References m_linkSet.
Referenced by ns3::olsr::RoutingProtocol::LinkSensing(), and ns3::olsr::RoutingProtocol::LinkTupleTimerExpire().
bool ns3::OlsrState::FindMprAddress | ( | const Ipv4Address & | address | ) |
Definition at line 264 of file olsr-state.cc.
References m_mprSet.
Referenced by ns3::olsr::RoutingProtocol::SendHello().
MprSelectorTuple * ns3::OlsrState::FindMprSelectorTuple | ( | const Ipv4Address & | mainAddr | ) |
Definition at line 38 of file olsr-state.cc.
References m_mprSelectorSet.
Referenced by ns3::olsr::RoutingProtocol::ForwardDefault(), ns3::olsr::RoutingProtocol::MprSelTupleTimerExpire(), and ns3::olsr::RoutingProtocol::PopulateMprSelectorSet().
std::vector< Ipv4Address > ns3::OlsrState::FindNeighborInterfaces | ( | const Ipv4Address & | neighborMainAddr | ) | const |
Definition at line 478 of file olsr-state.cc.
References m_ifaceAssocSet.
Referenced by ns3::olsr::RoutingProtocol::SendHello().
NeighborTuple * ns3::OlsrState::FindNeighborTuple | ( | const Ipv4Address & | mainAddr | ) |
Definition at line 108 of file olsr-state.cc.
References m_neighborSet.
Referenced by ns3::olsr::RoutingProtocol::Degree(), ns3::olsr::RoutingProtocol::LinkTupleUpdated(), and ns3::olsr::RoutingProtocol::PopulateNeighborSet().
NeighborTuple * ns3::OlsrState::FindNeighborTuple | ( | const Ipv4Address & | mainAddr, |
uint8_t | willingness | ||
) |
Definition at line 132 of file olsr-state.cc.
References m_neighborSet.
TopologyTuple * ns3::OlsrState::FindNewerTopologyTuple | ( | const Ipv4Address & | lastAddr, |
uint16_t | ansn | ||
) |
Definition at line 383 of file olsr-state.cc.
References m_topologySet.
Referenced by ns3::olsr::RoutingProtocol::ProcessTc().
LinkTuple * ns3::OlsrState::FindSymLinkTuple | ( | const Ipv4Address & | ifaceAddr, |
Time | time | ||
) |
Definition at line 330 of file olsr-state.cc.
References m_linkSet.
Referenced by ns3::olsr::RoutingProtocol::ForwardDefault(), ns3::olsr::RoutingProtocol::ProcessHna(), ns3::olsr::RoutingProtocol::ProcessMid(), and ns3::olsr::RoutingProtocol::ProcessTc().
const NeighborTuple * ns3::OlsrState::FindSymNeighborTuple | ( | const Ipv4Address & | mainAddr | ) | const |
Definition at line 120 of file olsr-state.cc.
References m_neighborSet, and ns3::olsr::NeighborTuple::STATUS_SYM.
Referenced by ns3::olsr::RoutingProtocol::RoutingTableComputation().
TopologyTuple * ns3::OlsrState::FindTopologyTuple | ( | const Ipv4Address & | destAddr, |
const Ipv4Address & | lastAddr | ||
) |
Definition at line 370 of file olsr-state.cc.
References m_topologySet.
Referenced by ns3::olsr::RoutingProtocol::ProcessTc(), and ns3::olsr::RoutingProtocol::TopologyTupleTimerExpire().
TwoHopNeighborTuple * ns3::OlsrState::FindTwoHopNeighborTuple | ( | const Ipv4Address & | neighbor, |
const Ipv4Address & | twoHopNeighbor | ||
) |
Definition at line 190 of file olsr-state.cc.
References m_twoHopNeighborSet.
Referenced by ns3::olsr::RoutingProtocol::Nb2hopTupleTimerExpire(), and ns3::olsr::RoutingProtocol::PopulateTwoHopNeighborSet().
|
inline |
Definition at line 158 of file olsr-state.h.
Referenced by ns3::olsr::RoutingProtocol::AddHostNetworkAssociation(), ns3::olsr::RoutingProtocol::HnaTimerExpire(), ns3::olsr::RoutingProtocol::RoutingTableComputation(), ns3::olsr::RoutingProtocol::SendHna(), and ns3::olsr::RoutingProtocol::SetRoutingTableAssociation().
|
inline |
Definition at line 153 of file olsr-state.h.
Referenced by ns3::olsr::RoutingProtocol::RoutingTableComputation().
|
inline |
Definition at line 139 of file olsr-state.h.
Referenced by ns3::olsr::RoutingProtocol::RoutingTableComputation().
|
inline |
Definition at line 143 of file olsr-state.h.
Referenced by ns3::olsr::RoutingProtocol::ProcessMid().
|
inline |
Definition at line 115 of file olsr-state.h.
Referenced by ns3::olsr::RoutingProtocol::LinkTupleUpdated(), ns3::olsr::RoutingProtocol::PopulateTwoHopNeighborSet(), ns3::olsr::RoutingProtocol::ProcessHello(), ns3::olsr::RoutingProtocol::RoutingTableComputation(), and ns3::olsr::RoutingProtocol::SendHello().
|
inline |
Definition at line 57 of file olsr-state.h.
Referenced by ns3::olsr::RoutingProtocol::SendTc(), and ns3::olsr::RoutingProtocol::TcTimerExpire().
MprSet ns3::OlsrState::GetMprSet | ( | ) | const |
Gets an MPR Set needed by tests.
Definition at line 276 of file olsr-state.cc.
References m_mprSet.
Referenced by ns3::olsr::OlsrMprTestCase::DoRun().
|
inline |
Definition at line 68 of file olsr-state.h.
Referenced by ns3::olsr::RoutingProtocol::Dump(), ns3::olsr::RoutingProtocol::MprComputation(), ns3::olsr::RoutingProtocol::ProcessHello(), ns3::olsr::RoutingProtocol::ProcessMid(), ns3::olsr::RoutingProtocol::RoutingTableComputation(), and ns3::olsr::RoutingProtocol::SendHello().
|
inline |
Definition at line 72 of file olsr-state.h.
|
inline |
Definition at line 125 of file olsr-state.h.
Referenced by ns3::olsr::RoutingProtocol::ProcessTc(), and ns3::olsr::RoutingProtocol::RoutingTableComputation().
|
inline |
Definition at line 85 of file olsr-state.h.
Referenced by ns3::olsr::RoutingProtocol::Degree(), ns3::olsr::RoutingProtocol::Dump(), ns3::olsr::RoutingProtocol::MprComputation(), ns3::olsr::RoutingProtocol::ProcessHello(), ns3::olsr::RoutingProtocol::ProcessMid(), and ns3::olsr::RoutingProtocol::RoutingTableComputation().
|
inline |
Definition at line 89 of file olsr-state.h.
void ns3::OlsrState::InsertAssociation | ( | const Association & | tuple | ) |
Definition at line 541 of file olsr-state.cc.
References m_associations.
Referenced by ns3::olsr::RoutingProtocol::AddHostNetworkAssociation().
void ns3::OlsrState::InsertAssociationTuple | ( | const AssociationTuple & | tuple | ) |
Definition at line 521 of file olsr-state.cc.
References m_associationSet.
Referenced by ns3::olsr::RoutingProtocol::AddAssociationTuple().
void ns3::OlsrState::InsertDuplicateTuple | ( | const DuplicateTuple & | tuple | ) |
Definition at line 310 of file olsr-state.cc.
References m_duplicateSet.
Referenced by ns3::olsr::RoutingProtocol::AddDuplicateTuple().
void ns3::OlsrState::InsertIfaceAssocTuple | ( | const IfaceAssocTuple & | tuple | ) |
Definition at line 472 of file olsr-state.cc.
References m_ifaceAssocSet.
Referenced by ns3::olsr::RoutingProtocol::AddIfaceAssocTuple().
Definition at line 361 of file olsr-state.cc.
References m_linkSet.
Referenced by ns3::olsr::RoutingProtocol::LinkSensing().
void ns3::OlsrState::InsertMprSelectorTuple | ( | const MprSelectorTuple & | tuple | ) |
Definition at line 81 of file olsr-state.cc.
References m_mprSelectorSet.
Referenced by ns3::olsr::RoutingProtocol::AddMprSelectorTuple().
void ns3::OlsrState::InsertNeighborTuple | ( | const NeighborTuple & | tuple | ) |
Definition at line 172 of file olsr-state.cc.
References m_neighborSet, and ns3::olsr::NeighborTuple::neighborMainAddr.
Referenced by ns3::olsr::RoutingProtocol::AddNeighborTuple().
void ns3::OlsrState::InsertTopologyTuple | ( | const TopologyTuple & | tuple | ) |
Definition at line 426 of file olsr-state.cc.
References m_topologySet.
Referenced by ns3::olsr::RoutingProtocol::AddTopologyTuple().
void ns3::OlsrState::InsertTwoHopNeighborTuple | ( | const TwoHopNeighborTuple & | tuple | ) |
Definition at line 256 of file olsr-state.cc.
References m_twoHopNeighborSet.
Referenced by ns3::olsr::RoutingProtocol::AddTwoHopNeighborTuple().
std::string ns3::OlsrState::PrintMprSelectorSet | ( | ) | const |
Definition at line 87 of file olsr-state.cc.
References m_mprSelectorSet.
Referenced by ns3::olsr::RoutingProtocol::PopulateMprSelectorSet().
void ns3::OlsrState::SetMprSet | ( | MprSet | mprSet | ) |
MprSet is set by routing protocol after MprCompute.
Definition at line 271 of file olsr-state.cc.
References m_mprSet.
Referenced by ns3::olsr::RoutingProtocol::MprComputation().
|
protected |
The node's local Host Network Associations that will be advertised using HNA messages.
Definition at line 49 of file olsr-state.h.
Referenced by EraseAssociation(), and InsertAssociation().
|
protected |
Association Set (RFC 3626, section12.2). Associations obtained from HNA messages generated by other nodes.
Definition at line 48 of file olsr-state.h.
Referenced by EraseAssociationTuple(), FindAssociationTuple(), and InsertAssociationTuple().
|
protected |
Duplicate Set (RFC 3626, section 3.4).
Definition at line 46 of file olsr-state.h.
Referenced by EraseDuplicateTuple(), FindDuplicateTuple(), and InsertDuplicateTuple().
|
protected |
Interface Association Set (RFC 3626, section 4.1).
Definition at line 47 of file olsr-state.h.
Referenced by EraseIfaceAssocTuple(), FindIfaceAssocTuple(), FindNeighborInterfaces(), and InsertIfaceAssocTuple().
|
protected |
Link Set (RFC 3626, section 4.2.1).
Definition at line 40 of file olsr-state.h.
Referenced by EraseLinkTuple(), FindLinkTuple(), FindSymLinkTuple(), and InsertLinkTuple().
|
protected |
MPR Selector Set (RFC 3626, section 4.3.4).
Definition at line 45 of file olsr-state.h.
Referenced by EraseMprSelectorTuple(), EraseMprSelectorTuples(), FindMprSelectorTuple(), InsertMprSelectorTuple(), and PrintMprSelectorSet().
|
protected |
MPR Set (RFC 3626, section 4.3.3).
Definition at line 44 of file olsr-state.h.
Referenced by FindMprAddress(), GetMprSet(), and SetMprSet().
|
protected |
Neighbor Set (RFC 3626, section 4.3.1).
Definition at line 41 of file olsr-state.h.
Referenced by EraseNeighborTuple(), FindNeighborTuple(), FindSymNeighborTuple(), and InsertNeighborTuple().
|
protected |
Topology Set (RFC 3626, section 4.4).
Definition at line 43 of file olsr-state.h.
Referenced by EraseOlderTopologyTuples(), EraseTopologyTuple(), FindNewerTopologyTuple(), FindTopologyTuple(), and InsertTopologyTuple().
|
protected |
2-hop Neighbor Set (RFC 3626, section 4.3.2).
Definition at line 42 of file olsr-state.h.
Referenced by EraseTwoHopNeighborTuple(), EraseTwoHopNeighborTuples(), FindTwoHopNeighborTuple(), and InsertTwoHopNeighborTuple().