A Discrete-Event Network Simulator
API
ns3::olsr::OlsrState Class Reference

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:

Public Member Functions

 OlsrState ()
 
void EraseAssociation (const Association &tuple)
 Erases an association. More...
 
void EraseAssociationTuple (const AssociationTuple &tuple)
 Erases a known association tuple. More...
 
void EraseDuplicateTuple (const DuplicateTuple &tuple)
 Erases a duplicate tuple. More...
 
void EraseIfaceAssocTuple (const IfaceAssocTuple &tuple)
 Erases a interface association tuple. More...
 
void EraseLinkTuple (const LinkTuple &tuple)
 Erases a link tuple. More...
 
void EraseMprSelectorTuple (const MprSelectorTuple &tuple)
 Erases a MPR selector tuple. More...
 
void EraseMprSelectorTuples (const Ipv4Address &mainAddr)
 Erases all MPR selector tuples belonging to the same address. More...
 
void EraseNeighborTuple (const NeighborTuple &neighborTuple)
 Erases a neighbor tuple. More...
 
void EraseNeighborTuple (const Ipv4Address &mainAddr)
 Erases a neighbor tuple. More...
 
void EraseOlderTopologyTuples (const Ipv4Address &lastAddr, uint16_t ansn)
 Erases a topology tuple. More...
 
void EraseTopologyTuple (const TopologyTuple &tuple)
 Erases a topology tuple. More...
 
void EraseTwoHopNeighborTuple (const TwoHopNeighborTuple &tuple)
 Erases a 2-hop neighbor tuple. More...
 
void EraseTwoHopNeighborTuples (const Ipv4Address &neighbor)
 Erases the 2-hop neighbor tuples with the same 1-hop neighbor. More...
 
void EraseTwoHopNeighborTuples (const Ipv4Address &neighbor, const Ipv4Address &twoHopNeighbor)
 Erases the 2-hop neighbor tuples with matching predicates. More...
 
AssociationTupleFindAssociationTuple (const Ipv4Address &gatewayAddr, const Ipv4Address &networkAddr, const Ipv4Mask &netmask)
 Finds an association tuple. More...
 
DuplicateTupleFindDuplicateTuple (const Ipv4Address &address, uint16_t sequenceNumber)
 Finds a duplicate tuple. More...
 
IfaceAssocTupleFindIfaceAssocTuple (const Ipv4Address &ifaceAddr)
 Finds a interface association tuple. More...
 
const IfaceAssocTupleFindIfaceAssocTuple (const Ipv4Address &ifaceAddr) const
 Finds a interface association tuple. More...
 
LinkTupleFindLinkTuple (const Ipv4Address &ifaceAddr)
 Finds a link tuple. More...
 
bool FindMprAddress (const Ipv4Address &address)
 Checks if there's an MPR with a specific address. More...
 
MprSelectorTupleFindMprSelectorTuple (const Ipv4Address &mainAddr)
 Finds a MPR selector tuple. More...
 
std::vector< Ipv4AddressFindNeighborInterfaces (const Ipv4Address &neighborMainAddr) const
 Returns a vector of all interfaces of a given neighbor, with the exception of the "main" one. More...
 
NeighborTupleFindNeighborTuple (const Ipv4Address &mainAddr)
 Finds a neighbor tuple. More...
 
NeighborTupleFindNeighborTuple (const Ipv4Address &mainAddr, uint8_t willingness)
 Finds a neighbor tuple. More...
 
TopologyTupleFindNewerTopologyTuple (const Ipv4Address &lastAddr, uint16_t ansn)
 Finds a topology tuple. More...
 
LinkTupleFindSymLinkTuple (const Ipv4Address &ifaceAddr, Time time)
 Finds a symmetrical link tuple. More...
 
const NeighborTupleFindSymNeighborTuple (const Ipv4Address &mainAddr) const
 Finds a symmetrical neighbor tuple. More...
 
TopologyTupleFindTopologyTuple (const Ipv4Address &destAddr, const Ipv4Address &lastAddr)
 Finds a topology tuple. More...
 
TwoHopNeighborTupleFindTwoHopNeighborTuple (const Ipv4Address &neighbor, const Ipv4Address &twoHopNeighbor)
 Finds a 2-hop neighbor tuple. More...
 
const AssociationsGetAssociations () const
 Gets the association set the node has. More...
 
const AssociationSetGetAssociationSet () const
 Gets the association set known to the node. More...
 
const IfaceAssocSetGetIfaceAssocSet () const
 Gets the interface association set. More...
 
IfaceAssocSetGetIfaceAssocSetMutable ()
 Gets a mutable reference to the interface association set. More...
 
const LinkSetGetLinks () const
 Gets the Link set. More...
 
const MprSelectorSetGetMprSelectors () const
 Gets the MPR selectors. More...
 
MprSet GetMprSet () const
 Gets the MPR set. More...
 
const NeighborSetGetNeighbors () const
 Gets the neighbor set. More...
 
NeighborSetGetNeighbors ()
 Gets the neighbor set. More...
 
const TopologySetGetTopologySet () const
 Gets the topology set. More...
 
const TwoHopNeighborSetGetTwoHopNeighbors () const
 Gets the 2-hop neighbor set. More...
 
TwoHopNeighborSetGetTwoHopNeighbors ()
 Gets the 2-hop neighbor set. More...
 
void InsertAssociation (const Association &tuple)
 Inserts an association tuple. More...
 
void InsertAssociationTuple (const AssociationTuple &tuple)
 Inserts a known association tuple. More...
 
void InsertDuplicateTuple (const DuplicateTuple &tuple)
 Inserts a duplicate tuple. More...
 
void InsertIfaceAssocTuple (const IfaceAssocTuple &tuple)
 Inserts a interface association tuple. More...
 
LinkTupleInsertLinkTuple (const LinkTuple &tuple)
 Inserts a link tuple. More...
 
void InsertMprSelectorTuple (const MprSelectorTuple &tuple)
 Inserts a MPR selector tuple. More...
 
void InsertNeighborTuple (const NeighborTuple &tuple)
 Inserts a neighbor tuple. More...
 
void InsertTopologyTuple (const TopologyTuple &tuple)
 Inserts a topology tuple. More...
 
void InsertTwoHopNeighborTuple (const TwoHopNeighborTuple &tuple)
 Inserts a 2-hop neighbor tuple. More...
 
std::string PrintMprSelectorSet () const
 Prints the MPR selector sets. More...
 
void SetMprSet (MprSet mprSet)
 Sets the MPR set to the one specified. More...
 

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). 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...
 

Detailed Description

This class encapsulates all data structures needed for maintaining internal state of an OLSR node.

Definition at line 34 of file olsr-state.h.

Constructor & Destructor Documentation

◆ OlsrState()

ns3::olsr::OlsrState::OlsrState ( )
inline

Definition at line 51 of file olsr-state.h.

Member Function Documentation

◆ EraseAssociation()

void ns3::olsr::OlsrState::EraseAssociation ( const Association tuple)

Erases an association.

Parameters
tupleThe tuple to erase.

Definition at line 555 of file olsr-state.cc.

References m_associations.

Referenced by ns3::olsr::RoutingProtocol::RemoveHostNetworkAssociation().

+ Here is the caller graph for this function:

◆ EraseAssociationTuple()

void ns3::olsr::OlsrState::EraseAssociationTuple ( const AssociationTuple tuple)

Erases a known association tuple.

Parameters
tupleThe tuple to erase.

Definition at line 535 of file olsr-state.cc.

References m_associationSet.

Referenced by ns3::olsr::RoutingProtocol::RemoveAssociationTuple().

+ Here is the caller graph for this function:

◆ EraseDuplicateTuple()

void ns3::olsr::OlsrState::EraseDuplicateTuple ( const DuplicateTuple tuple)

Erases a duplicate tuple.

Parameters
tupleThe tuple to erase.

Definition at line 308 of file olsr-state.cc.

References m_duplicateSet.

Referenced by ns3::olsr::RoutingProtocol::RemoveDuplicateTuple().

+ Here is the caller graph for this function:

◆ EraseIfaceAssocTuple()

void ns3::olsr::OlsrState::EraseIfaceAssocTuple ( const IfaceAssocTuple tuple)

Erases a interface association tuple.

Parameters
tupleThe tuple to erase.

Definition at line 484 of file olsr-state.cc.

References m_ifaceAssocSet.

Referenced by ns3::olsr::RoutingProtocol::RemoveIfaceAssocTuple().

+ Here is the caller graph for this function:

◆ EraseLinkTuple()

void ns3::olsr::OlsrState::EraseLinkTuple ( const LinkTuple tuple)

Erases a link tuple.

Parameters
tupleThe tuple to erase.

Definition at line 365 of file olsr-state.cc.

References m_linkSet.

Referenced by ns3::olsr::RoutingProtocol::RemoveLinkTuple().

+ Here is the caller graph for this function:

◆ EraseMprSelectorTuple()

void ns3::olsr::OlsrState::EraseMprSelectorTuple ( const MprSelectorTuple tuple)

Erases a MPR selector tuple.

Parameters
tupleThe MPR selector tuple.

Definition at line 52 of file olsr-state.cc.

References m_mprSelectorSet.

Referenced by ns3::olsr::RoutingProtocol::RemoveMprSelectorTuple().

+ Here is the caller graph for this function:

◆ EraseMprSelectorTuples()

void ns3::olsr::OlsrState::EraseMprSelectorTuples ( const Ipv4Address mainAddr)

Erases all MPR selector tuples belonging to the same address.

Parameters
mainAddrThe MPR selector main address.

Definition at line 66 of file olsr-state.cc.

References m_mprSelectorSet.

Referenced by ns3::olsr::RoutingProtocol::NeighborLoss().

+ Here is the caller graph for this function:

◆ EraseNeighborTuple() [1/2]

void ns3::olsr::OlsrState::EraseNeighborTuple ( const NeighborTuple neighborTuple)

Erases a neighbor tuple.

Parameters
neighborTupleThe neighbor tuple.

Definition at line 154 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:

◆ EraseNeighborTuple() [2/2]

void ns3::olsr::OlsrState::EraseNeighborTuple ( const Ipv4Address mainAddr)

Erases a neighbor tuple.

Parameters
mainAddrThe neighbor tuple main address.

Definition at line 168 of file olsr-state.cc.

References m_neighborSet.

◆ EraseOlderTopologyTuples()

void ns3::olsr::OlsrState::EraseOlderTopologyTuples ( const Ipv4Address lastAddr,
uint16_t  ansn 
)

Erases a topology tuple.

Parameters
lastAddrThe address of the node previous to the destination.
ansnThe Advertised Neighbor Sequence Number.

Definition at line 431 of file olsr-state.cc.

References m_topologySet.

Referenced by ns3::olsr::RoutingProtocol::ProcessTc().

+ Here is the caller graph for this function:

◆ EraseTopologyTuple()

void ns3::olsr::OlsrState::EraseTopologyTuple ( const TopologyTuple tuple)

Erases a topology tuple.

Parameters
tupleThe tuple to erase.

Definition at line 417 of file olsr-state.cc.

References m_topologySet.

Referenced by ns3::olsr::RoutingProtocol::RemoveTopologyTuple().

+ Here is the caller graph for this function:

◆ EraseTwoHopNeighborTuple()

void ns3::olsr::OlsrState::EraseTwoHopNeighborTuple ( const TwoHopNeighborTuple tuple)

Erases a 2-hop neighbor tuple.

Parameters
tupleThe 2-hop neighbor tuple.

Definition at line 216 of file olsr-state.cc.

References m_twoHopNeighborSet.

Referenced by ns3::olsr::RoutingProtocol::RemoveTwoHopNeighborTuple().

+ Here is the caller graph for this function:

◆ EraseTwoHopNeighborTuples() [1/2]

void ns3::olsr::OlsrState::EraseTwoHopNeighborTuples ( const Ipv4Address neighbor)

Erases the 2-hop neighbor tuples with the same 1-hop neighbor.

Parameters
neighborThe neighbor address.

Definition at line 249 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:

◆ EraseTwoHopNeighborTuples() [2/2]

void ns3::olsr::OlsrState::EraseTwoHopNeighborTuples ( const Ipv4Address neighbor,
const Ipv4Address twoHopNeighbor 
)

Erases the 2-hop neighbor tuples with matching predicates.

Parameters
neighborThe neighbor address.
twoHopNeighborThe 2-hop neighbor main address.

Definition at line 230 of file olsr-state.cc.

References m_twoHopNeighborSet.

◆ FindAssociationTuple()

AssociationTuple * ns3::olsr::OlsrState::FindAssociationTuple ( const Ipv4Address gatewayAddr,
const Ipv4Address networkAddr,
const Ipv4Mask netmask 
)

Finds an association tuple.

Parameters
gatewayAddrThe gateway address.
networkAddrThe network address.
netmaskThe network mask.
Returns
The association tuple, or a null pointer if no match.

Definition at line 521 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:

◆ FindDuplicateTuple()

DuplicateTuple * ns3::olsr::OlsrState::FindDuplicateTuple ( const Ipv4Address address,
uint16_t  sequenceNumber 
)

Finds a duplicate tuple.

Parameters
addressThe duplicate tuple address.
sequenceNumberThe duplicate tuple sequence number.
Returns
The duplicate tuple, or a null pointer if no match.

Definition at line 294 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:

◆ FindIfaceAssocTuple() [1/2]

IfaceAssocTuple * ns3::olsr::OlsrState::FindIfaceAssocTuple ( const Ipv4Address ifaceAddr)

Finds a interface association tuple.

Parameters
ifaceAddrThe interface address.
Returns
The interface association tuple, or a null pointer if no match.

Definition at line 456 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:

◆ FindIfaceAssocTuple() [2/2]

const IfaceAssocTuple * ns3::olsr::OlsrState::FindIfaceAssocTuple ( const Ipv4Address ifaceAddr) const

Finds a interface association tuple.

Parameters
ifaceAddrThe interface address.
Returns
The interface association tuple, or a null pointer if no match.

Definition at line 470 of file olsr-state.cc.

References m_ifaceAssocSet.

◆ FindLinkTuple()

LinkTuple * ns3::olsr::OlsrState::FindLinkTuple ( const Ipv4Address ifaceAddr)

Finds a link tuple.

Parameters
ifaceAddrThe interface address of the link.
Returns
The link tuple, or a null pointer if no match.

Definition at line 330 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:

◆ FindMprAddress()

bool ns3::olsr::OlsrState::FindMprAddress ( const Ipv4Address address)

Checks if there's an MPR with a specific address.

Parameters
addressThe address to test.
Returns
True if a MPR with the specified address exists.

Definition at line 274 of file olsr-state.cc.

References m_mprSet.

Referenced by ns3::olsr::RoutingProtocol::SendHello().

+ Here is the caller graph for this function:

◆ FindMprSelectorTuple()

MprSelectorTuple * ns3::olsr::OlsrState::FindMprSelectorTuple ( const Ipv4Address mainAddr)

Finds a MPR selector tuple.

Parameters
mainAddrThe MPR selector main address.
Returns
The MPR selector, if found. Else it returns a null pointer.

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:

◆ FindNeighborInterfaces()

std::vector< Ipv4Address > ns3::olsr::OlsrState::FindNeighborInterfaces ( const Ipv4Address neighborMainAddr) const

Returns a vector of all interfaces of a given neighbor, with the exception of the "main" one.

Parameters
neighborMainAddrThe neighbor main address
Returns
A container of the neighbor addresses (excluding the main one).

Definition at line 504 of file olsr-state.cc.

References m_ifaceAssocSet.

Referenced by ns3::olsr::RoutingProtocol::SendHello().

+ Here is the caller graph for this function:

◆ FindNeighborTuple() [1/2]

NeighborTuple * ns3::olsr::OlsrState::FindNeighborTuple ( const Ipv4Address mainAddr)

Finds a neighbor tuple.

Parameters
mainAddrThe neighbor tuple main address.
Returns
The neighbor tuple, if found. Else it returns a null pointer.

Definition at line 112 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:

◆ FindNeighborTuple() [2/2]

NeighborTuple * ns3::olsr::OlsrState::FindNeighborTuple ( const Ipv4Address mainAddr,
uint8_t  willingness 
)

Finds a neighbor tuple.

Parameters
mainAddrThe neighbor tuple main address.
willingnessThe neighbor willingness.
Returns
The neighbor tuple, if found. Else it returns a null pointer.

Definition at line 140 of file olsr-state.cc.

References m_neighborSet.

◆ FindNewerTopologyTuple()

TopologyTuple * ns3::olsr::OlsrState::FindNewerTopologyTuple ( const Ipv4Address lastAddr,
uint16_t  ansn 
)

Finds a topology tuple.

Parameters
lastAddrThe address of the node previous to the destination.
ansnThe Advertised Neighbor Sequence Number.
Returns
The topology tuple, or a null pointer if no match.

Definition at line 403 of file olsr-state.cc.

References m_topologySet.

Referenced by ns3::olsr::RoutingProtocol::ProcessTc().

+ Here is the caller graph for this function:

◆ FindSymLinkTuple()

LinkTuple * ns3::olsr::OlsrState::FindSymLinkTuple ( const Ipv4Address ifaceAddr,
Time  time 
)

Finds a symmetrical link tuple.

Parameters
ifaceAddrThe interface address of the link.
timeThe time at which the link should be considered symmetrical.
Returns
The link tuple, or a null pointer if no match.

Definition at line 344 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:

◆ FindSymNeighborTuple()

const NeighborTuple * ns3::olsr::OlsrState::FindSymNeighborTuple ( const Ipv4Address mainAddr) const

Finds a symmetrical neighbor tuple.

Parameters
mainAddrThe neighbor tuple main address.
Returns
The neighbor tuple, if found. Else it returns a null pointer.

Definition at line 126 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:

◆ FindTopologyTuple()

TopologyTuple * ns3::olsr::OlsrState::FindTopologyTuple ( const Ipv4Address destAddr,
const Ipv4Address lastAddr 
)

Finds a topology tuple.

Parameters
destAddrThe destination address.
lastAddrThe address of the node previous to the destination.
Returns
The topology tuple, or a null pointer if no match.

Definition at line 388 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:

◆ FindTwoHopNeighborTuple()

TwoHopNeighborTuple * ns3::olsr::OlsrState::FindTwoHopNeighborTuple ( const Ipv4Address neighbor,
const Ipv4Address twoHopNeighbor 
)

Finds a 2-hop neighbor tuple.

Parameters
neighborThe neighbor main address.
twoHopNeighborThe 2-hop neighbor main address.
Returns
The 2-hop neighbor tuple, if found. Else it returns a null pointer.

Definition at line 200 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:

◆ GetAssociations()

const Associations& ns3::olsr::OlsrState::GetAssociations ( ) const
inline

Gets the association set the node has.

Returns
The association set the node has.

Definition at line 385 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:

◆ GetAssociationSet()

const AssociationSet& ns3::olsr::OlsrState::GetAssociationSet ( ) const
inline

Gets the association set known to the node.

Returns
The association set known to the node.

Definition at line 376 of file olsr-state.h.

References m_associationSet.

Referenced by ns3::olsr::RoutingProtocol::RoutingTableComputation().

+ Here is the caller graph for this function:

◆ GetIfaceAssocSet()

const IfaceAssocSet& ns3::olsr::OlsrState::GetIfaceAssocSet ( ) const
inline

Gets the interface association set.

Returns
The interface association set.

Definition at line 335 of file olsr-state.h.

References m_ifaceAssocSet.

Referenced by ns3::olsr::RoutingProtocol::RoutingTableComputation().

+ Here is the caller graph for this function:

◆ GetIfaceAssocSetMutable()

IfaceAssocSet& ns3::olsr::OlsrState::GetIfaceAssocSetMutable ( )
inline

Gets a mutable reference to the interface association set.

Returns
The interface association set.

Definition at line 343 of file olsr-state.h.

References m_ifaceAssocSet.

Referenced by ns3::olsr::RoutingProtocol::ProcessMid().

+ Here is the caller graph for this function:

◆ GetLinks()

const LinkSet& ns3::olsr::OlsrState::GetLinks ( ) const
inline

◆ GetMprSelectors()

const MprSelectorSet& ns3::olsr::OlsrState::GetMprSelectors ( void  ) const
inline

Gets the MPR selectors.

Returns
The MPR selectors.

Definition at line 61 of file olsr-state.h.

References m_mprSelectorSet.

Referenced by ns3::olsr::RoutingProtocol::GetMprSelectors(), ns3::olsr::RoutingProtocol::SendTc(), and ns3::olsr::RoutingProtocol::TcTimerExpire().

+ Here is the caller graph for this function:

◆ GetMprSet()

MprSet ns3::olsr::OlsrState::GetMprSet ( void  ) const

Gets the MPR set.

Returns
The MPR set.

Definition at line 286 of file olsr-state.cc.

References m_mprSet.

Referenced by ns3::olsr::RoutingProtocol::GetMprSet().

+ Here is the caller graph for this function:

◆ GetNeighbors() [1/2]

const NeighborSet& ns3::olsr::OlsrState::GetNeighbors ( void  ) const
inline

◆ GetNeighbors() [2/2]

NeighborSet& ns3::olsr::OlsrState::GetNeighbors ( void  )
inline

Gets the neighbor set.

Returns
The neighbor set.

Definition at line 111 of file olsr-state.h.

References m_neighborSet.

◆ GetTopologySet()

const TopologySet& ns3::olsr::OlsrState::GetTopologySet ( void  ) const
inline

Gets the topology set.

Returns
The topology set.

Definition at line 291 of file olsr-state.h.

References m_topologySet.

Referenced by ns3::olsr::RoutingProtocol::GetTopologySet(), ns3::olsr::RoutingProtocol::ProcessTc(), and ns3::olsr::RoutingProtocol::RoutingTableComputation().

+ Here is the caller graph for this function:

◆ GetTwoHopNeighbors() [1/2]

const TwoHopNeighborSet& ns3::olsr::OlsrState::GetTwoHopNeighbors ( void  ) const
inline

◆ GetTwoHopNeighbors() [2/2]

TwoHopNeighborSet& ns3::olsr::OlsrState::GetTwoHopNeighbors ( void  )
inline

Gets the 2-hop neighbor set.

Returns
The 2-hop neighbor set.

Definition at line 170 of file olsr-state.h.

References m_twoHopNeighborSet.

◆ InsertAssociation()

void ns3::olsr::OlsrState::InsertAssociation ( const Association tuple)

Inserts an association tuple.

Parameters
tupleThe tuple to insert.

Definition at line 569 of file olsr-state.cc.

References m_associations.

Referenced by ns3::olsr::RoutingProtocol::AddHostNetworkAssociation().

+ Here is the caller graph for this function:

◆ InsertAssociationTuple()

void ns3::olsr::OlsrState::InsertAssociationTuple ( const AssociationTuple tuple)

Inserts a known association tuple.

Parameters
tupleThe tuple to insert.

Definition at line 549 of file olsr-state.cc.

References m_associationSet.

Referenced by ns3::olsr::RoutingProtocol::AddAssociationTuple().

+ Here is the caller graph for this function:

◆ InsertDuplicateTuple()

void ns3::olsr::OlsrState::InsertDuplicateTuple ( const DuplicateTuple tuple)

Inserts a duplicate tuple.

Parameters
tupleThe tuple to insert.

Definition at line 322 of file olsr-state.cc.

References m_duplicateSet.

Referenced by ns3::olsr::RoutingProtocol::AddDuplicateTuple().

+ Here is the caller graph for this function:

◆ InsertIfaceAssocTuple()

void ns3::olsr::OlsrState::InsertIfaceAssocTuple ( const IfaceAssocTuple tuple)

Inserts a interface association tuple.

Parameters
tupleThe tuple to insert.

Definition at line 498 of file olsr-state.cc.

References m_ifaceAssocSet.

Referenced by ns3::olsr::RoutingProtocol::AddIfaceAssocTuple().

+ Here is the caller graph for this function:

◆ InsertLinkTuple()

LinkTuple & ns3::olsr::OlsrState::InsertLinkTuple ( const LinkTuple tuple)

Inserts a link tuple.

Parameters
tupleThe tuple to insert.
Returns
A reference to the inserted tuple.

Definition at line 379 of file olsr-state.cc.

References m_linkSet.

Referenced by ns3::olsr::RoutingProtocol::LinkSensing().

+ Here is the caller graph for this function:

◆ InsertMprSelectorTuple()

void ns3::olsr::OlsrState::InsertMprSelectorTuple ( const MprSelectorTuple tuple)

Inserts a MPR selector tuple.

Parameters
tupleThe MPR selector tuple.

Definition at line 83 of file olsr-state.cc.

References m_mprSelectorSet.

Referenced by ns3::olsr::RoutingProtocol::AddMprSelectorTuple().

+ Here is the caller graph for this function:

◆ InsertNeighborTuple()

void ns3::olsr::OlsrState::InsertNeighborTuple ( const NeighborTuple tuple)

Inserts a neighbor tuple.

Parameters
tupleThe neighbor tuple.

Definition at line 182 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:

◆ InsertTopologyTuple()

void ns3::olsr::OlsrState::InsertTopologyTuple ( const TopologyTuple tuple)

Inserts a topology tuple.

Parameters
tupleThe tuple to insert.

Definition at line 448 of file olsr-state.cc.

References m_topologySet.

Referenced by ns3::olsr::RoutingProtocol::AddTopologyTuple().

+ Here is the caller graph for this function:

◆ InsertTwoHopNeighborTuple()

void ns3::olsr::OlsrState::InsertTwoHopNeighborTuple ( const TwoHopNeighborTuple tuple)

Inserts a 2-hop neighbor tuple.

Parameters
tupleThe 2-hop neighbor tuple.

Definition at line 266 of file olsr-state.cc.

References m_twoHopNeighborSet.

Referenced by ns3::olsr::RoutingProtocol::AddTwoHopNeighborTuple().

+ Here is the caller graph for this function:

◆ PrintMprSelectorSet()

std::string ns3::olsr::OlsrState::PrintMprSelectorSet ( ) const

Prints the MPR selector sets.

Returns
a string with the output data.

Definition at line 89 of file olsr-state.cc.

References m_mprSelectorSet.

Referenced by ns3::olsr::RoutingProtocol::PopulateMprSelectorSet().

+ Here is the caller graph for this function:

◆ SetMprSet()

void ns3::olsr::OlsrState::SetMprSet ( MprSet  mprSet)

Sets the MPR set to the one specified.

Parameters
mprSetThe new MPR set.

Definition at line 281 of file olsr-state.cc.

References m_mprSet.

Referenced by ns3::olsr::RoutingProtocol::MprComputation().

+ Here is the caller graph for this function:

Member Data Documentation

◆ m_associations

Associations ns3::olsr::OlsrState::m_associations
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().

◆ m_associationSet

AssociationSet ns3::olsr::OlsrState::m_associationSet
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().

◆ m_duplicateSet

DuplicateSet ns3::olsr::OlsrState::m_duplicateSet
protected

Duplicate Set (RFC 3626, section 3.4).

Definition at line 45 of file olsr-state.h.

Referenced by EraseDuplicateTuple(), FindDuplicateTuple(), and InsertDuplicateTuple().

◆ m_ifaceAssocSet

IfaceAssocSet ns3::olsr::OlsrState::m_ifaceAssocSet
protected

◆ m_linkSet

LinkSet ns3::olsr::OlsrState::m_linkSet
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().

◆ m_mprSelectorSet

MprSelectorSet ns3::olsr::OlsrState::m_mprSelectorSet
protected

◆ m_mprSet

MprSet ns3::olsr::OlsrState::m_mprSet
protected

MPR Set (RFC 3626, section 4.3.3).

Definition at line 43 of file olsr-state.h.

Referenced by FindMprAddress(), GetMprSet(), and SetMprSet().

◆ m_neighborSet

NeighborSet ns3::olsr::OlsrState::m_neighborSet
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().

◆ m_topologySet

TopologySet ns3::olsr::OlsrState::m_topologySet
protected

◆ m_twoHopNeighborSet

TwoHopNeighborSet ns3::olsr::OlsrState::m_twoHopNeighborSet
protected

The documentation for this class was generated from the following files: