20 #include "ns3/assert.h"
21 #include "ns3/simulator.h"
39 TypeId (
"ns3::flame::FlameRtable")
41 .SetGroupName (
"Mesh")
43 .AddAttribute (
"Lifetime",
44 "The lifetime of the routing entry",
66 const uint32_t interface,
const uint8_t cost,
const uint16_t seqnum)
68 std::map<Mac48Address, Route>::iterator i =
m_routes.find (destination);
82 i->second.retransmitter = retransmitter;
83 i->second.interface = interface;
84 i->second.cost = cost;
90 std::map<Mac48Address, Route>::iterator i =
m_routes.find (destination);
101 return LookupResult (i->second.retransmitter, i->second.interface, i->second.cost, i->second.seqnum);
static Mac48Address GetBroadcast(void)
A base class which provides memory management and object aggregation.
static Time Now(void)
Return the current simulation virtual time.
AttributeValue implementation for Time.
a unique identifier for an interface.
TypeId SetParent(TypeId tid)
Set the parent TypeId.
LookupResult Lookup(Mac48Address destination)
Lookup path to destination.
static const uint32_t INTERFACE_ANY
Means all interfaces.
void DoDispose()
Destructor implementation.
void AddPath(const Mac48Address destination, const Mac48Address retransmitter, const uint32_t interface, const uint8_t cost, const uint16_t seqnum)
Add path.
static TypeId GetTypeId()
Get the type ID.
std::map< Mac48Address, Route > m_routes
List of routes.
Time m_lifetime
Lifetime parameter.
static const uint32_t MAX_COST
Maximum (the best?) path cost.
#define NS_ASSERT(condition)
At runtime, in debugging builds, if this condition is not true, the program prints the source file,...
Ptr< const AttributeAccessor > MakeTimeAccessor(T1 a1)
Create an AttributeAccessor for a class data member, or a lone class get functor or set method.
#define NS_LOG_COMPONENT_DEFINE(name)
Define a Log component with a specific name.
#define NS_LOG_DEBUG(msg)
Use NS_LOG to output a message of level LOG_DEBUG.
#define NS_OBJECT_ENSURE_REGISTERED(type)
Register an Object subclass with the TypeId system.
Time Seconds(double value)
Construct a Time in the indicated unit.
Every class exported by the ns3 library is enclosed in the ns3 namespace.
Ptr< const AttributeChecker > MakeTimeChecker(const Time min, const Time max)
Helper to make a Time checker with bounded range.
Route lookup result, return type of LookupXXX methods.
uint32_t ifIndex
IF index.
uint16_t seqnum
sequence number
bool operator==(const LookupResult &o) const
Compare route lookup results, used by tests.
Mac48Address retransmitter
retransmitter
uint32_t seqnum
sequence number
Time whenExpire
expire when?
Mac48Address retransmitter
retransmitter
uint32_t interface
interface