27 #ifndef OLSR_REPOSITORIES_H
28 #define OLSR_REPOSITORIES_H
33 #include "ns3/ipv4-address.h"
34 #include "ns3/nstime.h"
36 namespace ns3 {
namespace olsr {
58 static inline std::ostream&
61 os <<
"IfaceAssocTuple(ifaceAddr=" << tuple.
ifaceAddr
63 <<
", time=" << tuple.
time <<
")";
89 static inline std::ostream&
94 <<
", symTime=" << tuple.
symTime
96 <<
", expTime=" << tuple.
time
119 && a.status == b.status
123 static inline std::ostream&
127 <<
", status=" << (tuple.status == NeighborTuple::STATUS_SYM ?
"SYM" :
"NOT_SYM")
128 <<
", willingness=" << (
int) tuple.
willingness <<
")";
143 static inline std::ostream&
222 static inline std::ostream&
225 os <<
"TopologyTuple(destAddr=" << tuple.
destAddr
243 return (a.networkAddr == b.networkAddr
244 && a.netmask == b.netmask);
247 static inline std::ostream&
250 os <<
"Association(networkAddr=" << tuple.networkAddr
251 <<
", netmask=" << tuple.netmask
277 static inline std::ostream&
280 os <<
"AssociationTuple(gatewayAddr=" << tuple.
gatewayAddr
282 <<
", netmask=" << tuple.
netmask
289 typedef std::set<Ipv4Address> MprSet;
290 typedef std::vector<MprSelectorTuple> MprSelectorSet;
291 typedef std::vector<LinkTuple> LinkSet;
292 typedef std::vector<NeighborTuple> NeighborSet;
293 typedef std::vector<TwoHopNeighborTuple> TwoHopNeighborSet;
294 typedef std::vector<TopologyTuple> TopologySet;
295 typedef std::vector<DuplicateTuple> DuplicateSet;
296 typedef std::vector<IfaceAssocTuple> IfaceAssocSet;
297 typedef std::vector<AssociationTuple> AssociationSet;
298 typedef std::vector<Association> Associations;
Ipv4Address networkAddr
Network Address of network reachable through gatewayAddr.
Time asymTime
The link is considered unidirectional until this time.
uint16_t sequenceNumber
Sequence number.
a class to represent an Ipv4 address mask
Time time
Time at which this tuple expires and must be removed.
Time expirationTime
Time at which this tuple expires and must be removed.
Ipv4Mask netmask
Netmask of network reachable through gatewayAddr.
Ipv4Address lastAddr
Main address of a node which is a neighbor of the destination.
Time expirationTime
Time at which this tuple expires and must be removed.
Ipv4Address mainAddr
Main address of the node.
Ipv4Address mainAddr
Main address of a node which have selected this node as a MPR.
Time expirationTime
Time at which this tuple expires and must be removed.
Time symTime
The link is considered bidirectional until this time.
Ipv4Address destAddr
Main address of the destination.
std::ostream & operator<<(std::ostream &os, const Angles &a)
uint8_t willingness
A value between 0 and 7 specifying the node's willingness to carry traffic on behalf of other nodes...
Time expirationTime
Time at which this tuple expires and must be removed.
Ipv4Address neighborMainAddr
Main address of a neighbor node.
Ipv4Address twoHopNeighborAddr
Main address of a 2-hop neighbor with a symmetric link to nb_main_addr.
Status
Neighbor Type and Link Type at the four less significative digits.
Ipv4Address localIfaceAddr
Interface address of the local node.
Time time
Time at which this tuple expires and must be removed.
Ipv4 addresses are stored in host order in this class.
Ipv4Address ifaceAddr
Interface address of a node.
Ipv4Address neighborMainAddr
Main address of a neighbor.
Ipv4Address address
Originator address of the message.
Ipv4Address gatewayAddr
Main address of the gateway.
Ipv4Address neighborIfaceAddr
Interface address of the neighbor node.
An Interface Association Tuple.
bool retransmitted
Indicates whether the message has been retransmitted or not.
The type "list of interface addresses".
uint16_t sequenceNumber
Message sequence number.
Time expirationTime
Time at which this tuple expires and must be removed.
std::vector< Ipv4Address > ifaceList
List of interfaces which the message has been received on.