This class encapsulates all data structures needed for maintaining internal state of an OLSR node. More...
#include "olsr-state.h"
 Collaboration diagram for ns3::olsr::OlsrState: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 34 of file olsr-state.h.
      
  | 
  inline | 
Definition at line 52 of file olsr-state.h.
| void ns3::olsr::OlsrState::EraseAssociation | ( | const Association & | tuple | ) | 
Definition at line 527 of file olsr-state.cc.
References m_associations.
Referenced by ns3::olsr::RoutingProtocol::RemoveHostNetworkAssociation().
 Here is the caller graph for this function:| void ns3::olsr::OlsrState::EraseAssociationTuple | ( | const AssociationTuple & | tuple | ) | 
Definition at line 507 of file olsr-state.cc.
References m_associationSet.
Referenced by ns3::olsr::RoutingProtocol::RemoveAssociationTuple().
 Here is the caller graph for this function:| void ns3::olsr::OlsrState::EraseDuplicateTuple | ( | const DuplicateTuple & | tuple | ) | 
Definition at line 296 of file olsr-state.cc.
References m_duplicateSet.
Referenced by ns3::olsr::RoutingProtocol::RemoveDuplicateTuple().
 Here is the caller graph for this function:| void ns3::olsr::OlsrState::EraseIfaceAssocTuple | ( | const IfaceAssocTuple & | tuple | ) | 
Definition at line 458 of file olsr-state.cc.
References m_ifaceAssocSet.
Referenced by ns3::olsr::RoutingProtocol::RemoveIfaceAssocTuple().
 Here is the caller graph for this function:| void ns3::olsr::OlsrState::EraseLinkTuple | ( | const LinkTuple & | tuple | ) | 
Definition at line 347 of file olsr-state.cc.
References m_linkSet.
Referenced by ns3::olsr::RoutingProtocol::RemoveLinkTuple().
 Here is the caller graph for this function:| void ns3::olsr::OlsrState::EraseMprSelectorTuple | ( | const MprSelectorTuple & | tuple | ) | 
Definition at line 50 of file olsr-state.cc.
References m_mprSelectorSet.
Referenced by ns3::olsr::RoutingProtocol::RemoveMprSelectorTuple().
 Here is the caller graph for this function:| void ns3::olsr::OlsrState::EraseMprSelectorTuples | ( | const Ipv4Address & | mainAddr | ) | 
Definition at line 64 of file olsr-state.cc.
References m_mprSelectorSet.
Referenced by ns3::olsr::RoutingProtocol::NeighborLoss().
 Here is the caller graph for this function:| void ns3::olsr::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().
 Here is the caller graph for this function:| void ns3::olsr::OlsrState::EraseNeighborTuple | ( | const Ipv4Address & | mainAddr | ) | 
Definition at line 158 of file olsr-state.cc.
References m_neighborSet.
| void ns3::olsr::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().
 Here is the caller graph for this function:| void ns3::olsr::OlsrState::EraseTopologyTuple | ( | const TopologyTuple & | tuple | ) | 
Definition at line 395 of file olsr-state.cc.
References m_topologySet.
Referenced by ns3::olsr::RoutingProtocol::RemoveTopologyTuple().
 Here is the caller graph for this function:| void ns3::olsr::OlsrState::EraseTwoHopNeighborTuple | ( | const TwoHopNeighborTuple & | tuple | ) | 
Definition at line 206 of file olsr-state.cc.
References m_twoHopNeighborSet.
Referenced by ns3::olsr::RoutingProtocol::RemoveTwoHopNeighborTuple().
 Here is the caller graph for this function:| void ns3::olsr::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().
 Here is the caller graph for this function:| void ns3::olsr::OlsrState::EraseTwoHopNeighborTuples | ( | const Ipv4Address & | neighbor, | 
| const Ipv4Address & | twoHopNeighbor | ||
| ) | 
Definition at line 220 of file olsr-state.cc.
References m_twoHopNeighborSet.
| AssociationTuple * ns3::olsr::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().
 Here is the caller graph for this function:| DuplicateTuple * ns3::olsr::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().
 Here is the caller graph for this function:| IfaceAssocTuple * ns3::olsr::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().
 Here is the caller graph for this function:| const IfaceAssocTuple * ns3::olsr::OlsrState::FindIfaceAssocTuple | ( | const Ipv4Address & | ifaceAddr | ) | const | 
Definition at line 446 of file olsr-state.cc.
References m_ifaceAssocSet.
| LinkTuple * ns3::olsr::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().
 Here is the caller graph for this function:| bool ns3::olsr::OlsrState::FindMprAddress | ( | const Ipv4Address & | address | ) | 
Definition at line 264 of file olsr-state.cc.
References m_mprSet.
Referenced by ns3::olsr::RoutingProtocol::SendHello().
 Here is the caller graph for this function:| MprSelectorTuple * ns3::olsr::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().
 Here is the caller graph for this function:| std::vector< Ipv4Address > ns3::olsr::OlsrState::FindNeighborInterfaces | ( | const Ipv4Address & | neighborMainAddr | ) | const | 
Definition at line 478 of file olsr-state.cc.
References m_ifaceAssocSet.
Referenced by ns3::olsr::RoutingProtocol::SendHello().
 Here is the caller graph for this function:| NeighborTuple * ns3::olsr::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().
 Here is the caller graph for this function:| NeighborTuple * ns3::olsr::OlsrState::FindNeighborTuple | ( | const Ipv4Address & | mainAddr, | 
| uint8_t | willingness | ||
| ) | 
Definition at line 132 of file olsr-state.cc.
References m_neighborSet.
| TopologyTuple * ns3::olsr::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().
 Here is the caller graph for this function:| LinkTuple * ns3::olsr::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().
 Here is the caller graph for this function:| const NeighborTuple * ns3::olsr::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().
 Here is the caller graph for this function:| TopologyTuple * ns3::olsr::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().
 Here is the caller graph for this function:| TwoHopNeighborTuple * ns3::olsr::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().
 Here is the caller graph for this function:
      
  | 
  inline | 
Definition at line 157 of file olsr-state.h.
References m_associations.
Referenced by ns3::olsr::RoutingProtocol::AddHostNetworkAssociation(), ns3::olsr::RoutingProtocol::HnaTimerExpire(), ns3::olsr::RoutingProtocol::RoutingTableComputation(), ns3::olsr::RoutingProtocol::SendHna(), and ns3::olsr::RoutingProtocol::SetRoutingTableAssociation().
 Here is the caller graph for this function:
      
  | 
  inline | 
Definition at line 152 of file olsr-state.h.
References m_associationSet.
Referenced by ns3::olsr::RoutingProtocol::RoutingTableComputation().
 Here is the caller graph for this function:
      
  | 
  inline | 
Definition at line 138 of file olsr-state.h.
References m_ifaceAssocSet.
Referenced by ns3::olsr::RoutingProtocol::RoutingTableComputation().
 Here is the caller graph for this function:
      
  | 
  inline | 
Definition at line 142 of file olsr-state.h.
References m_ifaceAssocSet.
Referenced by ns3::olsr::RoutingProtocol::ProcessMid().
 Here is the caller graph for this function:
      
  | 
  inline | 
Definition at line 114 of file olsr-state.h.
References m_linkSet.
Referenced by ns3::olsr::RoutingProtocol::LinkTupleUpdated(), ns3::olsr::RoutingProtocol::PopulateTwoHopNeighborSet(), ns3::olsr::RoutingProtocol::ProcessHello(), ns3::olsr::RoutingProtocol::RoutingTableComputation(), and ns3::olsr::RoutingProtocol::SendHello().
 Here is the caller graph for this function:
      
  | 
  inline | 
Definition at line 56 of file olsr-state.h.
References m_mprSelectorSet.
Referenced by ns3::olsr::RoutingProtocol::SendTc(), and ns3::olsr::RoutingProtocol::TcTimerExpire().
 Here is the caller graph for this function:| MprSet ns3::olsr::OlsrState::GetMprSet | ( | ) | const | 
      
  | 
  inline | 
Definition at line 67 of file olsr-state.h.
References m_neighborSet.
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().
 Here is the caller graph for this function:
      
  | 
  inline | 
Definition at line 71 of file olsr-state.h.
References m_neighborSet.
      
  | 
  inline | 
Definition at line 124 of file olsr-state.h.
References m_topologySet.
Referenced by ns3::olsr::RoutingProtocol::ProcessTc(), and ns3::olsr::RoutingProtocol::RoutingTableComputation().
 Here is the caller graph for this function:
      
  | 
  inline | 
Definition at line 84 of file olsr-state.h.
References m_twoHopNeighborSet.
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().
 Here is the caller graph for this function:
      
  | 
  inline | 
Definition at line 88 of file olsr-state.h.
References m_twoHopNeighborSet.
| void ns3::olsr::OlsrState::InsertAssociation | ( | const Association & | tuple | ) | 
Definition at line 541 of file olsr-state.cc.
References m_associations.
Referenced by ns3::olsr::RoutingProtocol::AddHostNetworkAssociation().
 Here is the caller graph for this function:| void ns3::olsr::OlsrState::InsertAssociationTuple | ( | const AssociationTuple & | tuple | ) | 
Definition at line 521 of file olsr-state.cc.
References m_associationSet.
Referenced by ns3::olsr::RoutingProtocol::AddAssociationTuple().
 Here is the caller graph for this function:| void ns3::olsr::OlsrState::InsertDuplicateTuple | ( | const DuplicateTuple & | tuple | ) | 
Definition at line 310 of file olsr-state.cc.
References m_duplicateSet.
Referenced by ns3::olsr::RoutingProtocol::AddDuplicateTuple().
 Here is the caller graph for this function:| void ns3::olsr::OlsrState::InsertIfaceAssocTuple | ( | const IfaceAssocTuple & | tuple | ) | 
Definition at line 472 of file olsr-state.cc.
References m_ifaceAssocSet.
Referenced by ns3::olsr::RoutingProtocol::AddIfaceAssocTuple().
 Here is the caller graph for this function:Definition at line 361 of file olsr-state.cc.
References m_linkSet.
Referenced by ns3::olsr::RoutingProtocol::LinkSensing().
 Here is the caller graph for this function:| void ns3::olsr::OlsrState::InsertMprSelectorTuple | ( | const MprSelectorTuple & | tuple | ) | 
Definition at line 81 of file olsr-state.cc.
References m_mprSelectorSet.
Referenced by ns3::olsr::RoutingProtocol::AddMprSelectorTuple().
 Here is the caller graph for this function:| void ns3::olsr::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().
 Here is the caller graph for this function:| void ns3::olsr::OlsrState::InsertTopologyTuple | ( | const TopologyTuple & | tuple | ) | 
Definition at line 426 of file olsr-state.cc.
References m_topologySet.
Referenced by ns3::olsr::RoutingProtocol::AddTopologyTuple().
 Here is the caller graph for this function:| void ns3::olsr::OlsrState::InsertTwoHopNeighborTuple | ( | const TwoHopNeighborTuple & | tuple | ) | 
Definition at line 256 of file olsr-state.cc.
References m_twoHopNeighborSet.
Referenced by ns3::olsr::RoutingProtocol::AddTwoHopNeighborTuple().
 Here is the caller graph for this function:| std::string ns3::olsr::OlsrState::PrintMprSelectorSet | ( | ) | const | 
Definition at line 87 of file olsr-state.cc.
References m_mprSelectorSet.
Referenced by ns3::olsr::RoutingProtocol::PopulateMprSelectorSet().
 Here is the caller graph for this function:| void ns3::olsr::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().
 Here is the caller graph for this function:
      
  | 
  protected | 
The node's local Host Network Associations that will be advertised using HNA messages.
Definition at line 48 of file olsr-state.h.
Referenced by EraseAssociation(), GetAssociations(), and InsertAssociation().
      
  | 
  protected | 
Association Set (RFC 3626, section12.2). Associations obtained from HNA messages generated by other nodes.
Definition at line 47 of file olsr-state.h.
Referenced by EraseAssociationTuple(), FindAssociationTuple(), GetAssociationSet(), and InsertAssociationTuple().
      
  | 
  protected | 
Duplicate Set (RFC 3626, section 3.4).
Definition at line 45 of file olsr-state.h.
Referenced by EraseDuplicateTuple(), FindDuplicateTuple(), and InsertDuplicateTuple().
      
  | 
  protected | 
Interface Association Set (RFC 3626, section 4.1).
Definition at line 46 of file olsr-state.h.
Referenced by EraseIfaceAssocTuple(), FindIfaceAssocTuple(), FindNeighborInterfaces(), GetIfaceAssocSet(), GetIfaceAssocSetMutable(), and InsertIfaceAssocTuple().
      
  | 
  protected | 
Link Set (RFC 3626, section 4.2.1).
Definition at line 39 of file olsr-state.h.
Referenced by EraseLinkTuple(), FindLinkTuple(), FindSymLinkTuple(), GetLinks(), and InsertLinkTuple().
      
  | 
  protected | 
MPR Selector Set (RFC 3626, section 4.3.4).
Definition at line 44 of file olsr-state.h.
Referenced by EraseMprSelectorTuple(), EraseMprSelectorTuples(), FindMprSelectorTuple(), GetMprSelectors(), InsertMprSelectorTuple(), and PrintMprSelectorSet().
      
  | 
  protected | 
MPR Set (RFC 3626, section 4.3.3).
Definition at line 43 of file olsr-state.h.
Referenced by FindMprAddress(), GetMprSet(), and SetMprSet().
      
  | 
  protected | 
Neighbor Set (RFC 3626, section 4.3.1).
Definition at line 40 of file olsr-state.h.
Referenced by EraseNeighborTuple(), FindNeighborTuple(), FindSymNeighborTuple(), GetNeighbors(), and InsertNeighborTuple().
      
  | 
  protected | 
Topology Set (RFC 3626, section 4.4).
Definition at line 42 of file olsr-state.h.
Referenced by EraseOlderTopologyTuples(), EraseTopologyTuple(), FindNewerTopologyTuple(), FindTopologyTuple(), GetTopologySet(), and InsertTopologyTuple().
      
  | 
  protected | 
2-hop Neighbor Set (RFC 3626, section 4.3.2).
Definition at line 41 of file olsr-state.h.
Referenced by EraseTwoHopNeighborTuple(), EraseTwoHopNeighborTuples(), FindTwoHopNeighborTuple(), GetTwoHopNeighbors(), and InsertTwoHopNeighborTuple().