A Discrete-Event Network Simulator
API
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
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)
 
void EraseAssociationTuple (const AssociationTuple &tuple)
 
void EraseDuplicateTuple (const DuplicateTuple &tuple)
 
void EraseIfaceAssocTuple (const IfaceAssocTuple &tuple)
 
void EraseLinkTuple (const LinkTuple &tuple)
 
void EraseMprSelectorTuple (const MprSelectorTuple &tuple)
 
void EraseMprSelectorTuples (const Ipv4Address &mainAddr)
 
void EraseNeighborTuple (const NeighborTuple &neighborTuple)
 
void EraseNeighborTuple (const Ipv4Address &mainAddr)
 
void EraseOlderTopologyTuples (const Ipv4Address &lastAddr, uint16_t ansn)
 
void EraseTopologyTuple (const TopologyTuple &tuple)
 
void EraseTwoHopNeighborTuple (const TwoHopNeighborTuple &tuple)
 
void EraseTwoHopNeighborTuples (const Ipv4Address &neighbor)
 
void EraseTwoHopNeighborTuples (const Ipv4Address &neighbor, const Ipv4Address &twoHopNeighbor)
 
AssociationTupleFindAssociationTuple (const Ipv4Address &gatewayAddr, const Ipv4Address &networkAddr, const Ipv4Mask &netmask)
 
DuplicateTupleFindDuplicateTuple (const Ipv4Address &address, uint16_t sequenceNumber)
 
IfaceAssocTupleFindIfaceAssocTuple (const Ipv4Address &ifaceAddr)
 
const IfaceAssocTupleFindIfaceAssocTuple (const Ipv4Address &ifaceAddr) const
 
LinkTupleFindLinkTuple (const Ipv4Address &ifaceAddr)
 
bool FindMprAddress (const Ipv4Address &address)
 
MprSelectorTupleFindMprSelectorTuple (const Ipv4Address &mainAddr)
 
std::vector< Ipv4AddressFindNeighborInterfaces (const Ipv4Address &neighborMainAddr) const
 
NeighborTupleFindNeighborTuple (const Ipv4Address &mainAddr)
 
NeighborTupleFindNeighborTuple (const Ipv4Address &mainAddr, uint8_t willingness)
 
TopologyTupleFindNewerTopologyTuple (const Ipv4Address &lastAddr, uint16_t ansn)
 
LinkTupleFindSymLinkTuple (const Ipv4Address &ifaceAddr, Time time)
 
const NeighborTupleFindSymNeighborTuple (const Ipv4Address &mainAddr) const
 
TopologyTupleFindTopologyTuple (const Ipv4Address &destAddr, const Ipv4Address &lastAddr)
 
TwoHopNeighborTupleFindTwoHopNeighborTuple (const Ipv4Address &neighbor, const Ipv4Address &twoHopNeighbor)
 
const AssociationsGetAssociations () const
 
const AssociationSetGetAssociationSet () const
 
const IfaceAssocSetGetIfaceAssocSet () const
 
IfaceAssocSetGetIfaceAssocSetMutable ()
 
const LinkSetGetLinks () const
 
const MprSelectorSetGetMprSelectors () const
 
MprSet GetMprSet () const
 Gets an MPR Set needed by tests. More...
 
const NeighborSetGetNeighbors () const
 
NeighborSetGetNeighbors ()
 
const TopologySetGetTopologySet () const
 
const TwoHopNeighborSetGetTwoHopNeighbors () const
 
TwoHopNeighborSetGetTwoHopNeighbors ()
 
void InsertAssociation (const Association &tuple)
 
void InsertAssociationTuple (const AssociationTuple &tuple)
 
void InsertDuplicateTuple (const DuplicateTuple &tuple)
 
void InsertIfaceAssocTuple (const IfaceAssocTuple &tuple)
 
LinkTupleInsertLinkTuple (const LinkTuple &tuple)
 
void InsertMprSelectorTuple (const MprSelectorTuple &tuple)
 
void InsertNeighborTuple (const NeighborTuple &tuple)
 
void InsertTopologyTuple (const TopologyTuple &tuple)
 
void InsertTwoHopNeighborTuple (const TwoHopNeighborTuple &tuple)
 
std::string PrintMprSelectorSet () const
 
void SetMprSet (MprSet mprSet)
 MprSet is set by routing protocol after MprCompute. 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). 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...
 

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

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

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

Member Function Documentation

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

const AssociationSet& ns3::olsr::OlsrState::GetAssociationSet ( ) const
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:

const IfaceAssocSet& ns3::olsr::OlsrState::GetIfaceAssocSet ( ) const
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:

IfaceAssocSet& ns3::olsr::OlsrState::GetIfaceAssocSetMutable ( )
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:

const MprSelectorSet& ns3::olsr::OlsrState::GetMprSelectors ( ) const
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

Gets an MPR Set needed by tests.

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

References m_mprSet.

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

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

References m_neighborSet.

const TopologySet& ns3::olsr::OlsrState::GetTopologySet ( ) const
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:

TwoHopNeighborSet& ns3::olsr::OlsrState::GetTwoHopNeighbors ( )
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:

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

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:

Member Data Documentation

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

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

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

IfaceAssocSet ns3::olsr::OlsrState::m_ifaceAssocSet
protected
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().

MprSelectorSet ns3::olsr::OlsrState::m_mprSelectorSet
protected
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().

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

TopologySet ns3::olsr::OlsrState::m_topologySet
protected
TwoHopNeighborSet ns3::olsr::OlsrState::m_twoHopNeighborSet
protected

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