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 Ipv4Address &mainAddr)
 Erases a neighbor tuple. More...
 
void EraseNeighborTuple (const NeighborTuple &neighborTuple)
 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, Willingness 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...
 
NeighborSetGetNeighbors ()
 Gets the neighbor set. More...
 
const NeighborSetGetNeighbors () const
 Gets the neighbor set. More...
 
const TopologySetGetTopologySet () const
 Gets the topology set. More...
 
TwoHopNeighborSetGetTwoHopNeighbors ()
 Gets the 2-hop neighbor set. More...
 
const TwoHopNeighborSetGetTwoHopNeighbors () const
 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 35 of file olsr-state.h.

Constructor & Destructor Documentation

◆ OlsrState()

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

Definition at line 54 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 528 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 509 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 293 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 458 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 347 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 51 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 64 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 Ipv4Address mainAddr)

Erases a neighbor tuple.

Parameters
mainAddrThe neighbor tuple main address.

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

References m_neighborSet.

◆ EraseNeighborTuple() [2/2]

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

Erases a neighbor tuple.

Parameters
neighborTupleThe neighbor tuple.

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

◆ 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 408 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 395 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 204 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 235 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 217 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 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:

◆ 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 280 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 432 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 445 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 314 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 259 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 477 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 107 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,
Willingness  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 133 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 382 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 327 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 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:

◆ 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 369 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 189 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 387 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 378 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 336 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 345 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 ( ) const
inline

Gets the MPR selectors.

Returns
The MPR selectors.

Definition at line 64 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 ( ) const

Gets the MPR set.

Returns
The MPR set.

Definition at line 272 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]

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

Gets the neighbor set.

Returns
The neighbor set.

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

References m_neighborSet.

◆ GetNeighbors() [2/2]

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

◆ GetTopologySet()

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

Gets the topology set.

Returns
The topology set.

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

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

Gets the 2-hop neighbor set.

Returns
The 2-hop neighbor set.

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

References m_twoHopNeighborSet.

◆ GetTwoHopNeighbors() [2/2]

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

◆ InsertAssociation()

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

Inserts an association tuple.

Parameters
tupleThe tuple to insert.

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:

◆ InsertAssociationTuple()

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

Inserts a known association tuple.

Parameters
tupleThe tuple to insert.

Definition at line 522 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 306 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 471 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 360 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 80 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 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:

◆ InsertTopologyTuple()

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

Inserts a topology tuple.

Parameters
tupleThe tuple to insert.

Definition at line 424 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 251 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 86 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 266 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 50 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 48 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 46 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 40 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 44 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 41 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: