28 #include "olsr-repositories.h"
57 const MprSelectorSet & GetMprSelectors ()
const
59 return m_mprSelectorSet;
61 MprSelectorTuple* FindMprSelectorTuple (
const Ipv4Address &mainAddr);
62 void EraseMprSelectorTuple (
const MprSelectorTuple &tuple);
63 void EraseMprSelectorTuples (
const Ipv4Address &mainAddr);
64 void InsertMprSelectorTuple (
const MprSelectorTuple &tuple);
65 std::string PrintMprSelectorSet ()
const;
68 const NeighborSet & GetNeighbors ()
const
72 NeighborSet & GetNeighbors ()
76 NeighborTuple* FindNeighborTuple (
const Ipv4Address &mainAddr);
77 const NeighborTuple* FindSymNeighborTuple (
const Ipv4Address &mainAddr)
const;
78 NeighborTuple* FindNeighborTuple (
const Ipv4Address &mainAddr,
80 void EraseNeighborTuple (
const NeighborTuple &neighborTuple);
81 void EraseNeighborTuple (
const Ipv4Address &mainAddr);
82 void InsertNeighborTuple (
const NeighborTuple &tuple);
85 const TwoHopNeighborSet & GetTwoHopNeighbors ()
const
87 return m_twoHopNeighborSet;
89 TwoHopNeighborSet & GetTwoHopNeighbors ()
91 return m_twoHopNeighborSet;
93 TwoHopNeighborTuple* FindTwoHopNeighborTuple (
const Ipv4Address &neighbor,
94 const Ipv4Address &twoHopNeighbor);
95 void EraseTwoHopNeighborTuple (
const TwoHopNeighborTuple &tuple);
96 void EraseTwoHopNeighborTuples (
const Ipv4Address &neighbor);
97 void EraseTwoHopNeighborTuples (
const Ipv4Address &neighbor,
98 const Ipv4Address &twoHopNeighbor);
99 void InsertTwoHopNeighborTuple (
const TwoHopNeighborTuple &tuple);
102 bool FindMprAddress (
const Ipv4Address &address);
104 void SetMprSet (MprSet mprSet);
106 MprSet GetMprSet ()
const;
109 DuplicateTuple* FindDuplicateTuple (
const Ipv4Address &address,
110 uint16_t sequenceNumber);
111 void EraseDuplicateTuple (
const DuplicateTuple &tuple);
112 void InsertDuplicateTuple (
const DuplicateTuple &tuple);
115 const LinkSet & GetLinks ()
const
119 LinkTuple* FindLinkTuple (
const Ipv4Address &ifaceAddr);
120 LinkTuple* FindSymLinkTuple (
const Ipv4Address &ifaceAddr, Time time);
121 void EraseLinkTuple (
const LinkTuple &tuple);
122 LinkTuple& InsertLinkTuple (
const LinkTuple &tuple);
125 const TopologySet & GetTopologySet ()
const
127 return m_topologySet;
129 TopologyTuple* FindTopologyTuple (
const Ipv4Address &destAddr,
130 const Ipv4Address &lastAddr);
131 TopologyTuple* FindNewerTopologyTuple (
const Ipv4Address &lastAddr,
133 void EraseTopologyTuple (
const TopologyTuple &tuple);
134 void EraseOlderTopologyTuples (
const Ipv4Address &lastAddr,
136 void InsertTopologyTuple (
const TopologyTuple &tuple);
139 const IfaceAssocSet & GetIfaceAssocSet ()
const
141 return m_ifaceAssocSet;
143 IfaceAssocSet & GetIfaceAssocSetMutable ()
145 return m_ifaceAssocSet;
147 IfaceAssocTuple* FindIfaceAssocTuple (
const Ipv4Address &ifaceAddr);
148 const IfaceAssocTuple* FindIfaceAssocTuple (
const Ipv4Address &ifaceAddr)
const;
149 void EraseIfaceAssocTuple (
const IfaceAssocTuple &tuple);
150 void InsertIfaceAssocTuple (
const IfaceAssocTuple &tuple);
153 const AssociationSet & GetAssociationSet () const
155 return m_associationSet;
158 const Associations & GetAssociations () const
160 return m_associations;
163 AssociationTuple* FindAssociationTuple (
const Ipv4Address &gatewayAddr, \
164 const Ipv4Address &networkAddr, \
165 const Ipv4Mask &netmask);
166 void EraseAssociationTuple (
const AssociationTuple &tuple);
167 void InsertAssociationTuple (
const AssociationTuple &tuple);
168 void EraseAssociation (
const Association &tuple);
169 void InsertAssociation (
const Association &tuple);
173 std::vector<Ipv4Address>
174 FindNeighborInterfaces (
const Ipv4Address &neighborMainAddr)
const;
This class encapsulates all data structures needed for maintaining internal state of an OLSR node...
Associations m_associations
The node's local Host Network Associations that will be advertised using HNA messages.
TopologySet m_topologySet
Topology Set (RFC 3626, section 4.4).
MprSelectorSet m_mprSelectorSet
MPR Selector Set (RFC 3626, section 4.3.4).
AssociationSet m_associationSet
Association Set (RFC 3626, section12.2). Associations obtained from HNA messages generated by other n...
NeighborSet m_neighborSet
Neighbor Set (RFC 3626, section 4.3.1).
DuplicateSet m_duplicateSet
Duplicate Set (RFC 3626, section 3.4).
TwoHopNeighborSet m_twoHopNeighborSet
2-hop Neighbor Set (RFC 3626, section 4.3.2).
LinkSet m_linkSet
Link Set (RFC 3626, section 4.2.1).
MprSet m_mprSet
MPR Set (RFC 3626, section 4.3.3).
IfaceAssocSet m_ifaceAssocSet
Interface Association Set (RFC 3626, section 4.1).