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