Routing table for FLAME. More...
#include <flame-rtable.h>
Classes | |
struct | LookupResult |
Route lookup result, return type of LookupXXX methods. More... | |
struct | Route |
Routing table entry. More... |
Public Member Functions | |
FlameRtable () | |
~FlameRtable () | |
void | AddPath (const Mac48Address destination, const Mac48Address retransmitter, const uint32_t interface, const uint8_t cost, const uint16_t seqnum) |
Add path. | |
void | DoDispose () |
LookupResult | Lookup (Mac48Address destination) |
Lookup path to destination. | |
![]() | |
Object () | |
virtual | ~Object () |
void | AggregateObject (Ptr< Object > other) |
void | Dispose (void) |
AggregateIterator | GetAggregateIterator (void) const |
virtual TypeId | GetInstanceTypeId (void) const |
template<typename T > | |
Ptr< T > | GetObject (void) const |
template<typename T > | |
Ptr< T > | GetObject (TypeId tid) const |
void | Start (void) |
![]() | |
SimpleRefCount () | |
SimpleRefCount (const SimpleRefCount &o) | |
uint32_t | GetReferenceCount (void) const |
SimpleRefCount & | operator= (const SimpleRefCount &o) |
void | Ref (void) const |
void | Unref (void) const |
![]() | |
virtual | ~ObjectBase () |
void | GetAttribute (std::string name, AttributeValue &value) const |
bool | GetAttributeFailSafe (std::string name, AttributeValue &attribute) const |
void | SetAttribute (std::string name, const AttributeValue &value) |
bool | SetAttributeFailSafe (std::string name, const AttributeValue &value) |
bool | TraceConnect (std::string name, std::string context, const CallbackBase &cb) |
bool | TraceConnectWithoutContext (std::string name, const CallbackBase &cb) |
bool | TraceDisconnect (std::string name, std::string context, const CallbackBase &cb) |
bool | TraceDisconnectWithoutContext (std::string name, const CallbackBase &cb) |
Static Public Member Functions | |
static TypeId | GetTypeId () |
Static Public Attributes | |
static const uint32_t | INTERFACE_ANY = 0xffffffff |
Means all interfaces. | |
static const uint32_t | MAX_COST = 0xff |
Maximum (the best?) path cost. |
Private Member Functions | |
FlameRtable (const FlameRtable &) | |
FlameRtable & | operator= (const FlameRtable &) |
Private Attributes | |
Time | m_lifetime |
Lifetime parameter. | |
std::map< Mac48Address, Route > | m_routes |
List of routes. |
Additional Inherited Members | |
![]() | |
Object (const Object &o) | |
virtual void | DoStart (void) |
virtual void | NotifyNewAggregate (void) |
Routing table for FLAME.
This type is not accessible from the Config system.
No TraceSources are defined for this type.
Definition at line 36 of file flame-rtable.h.
ns3::flame::FlameRtable::FlameRtable | ( | ) |
Definition at line 48 of file flame-rtable.cc.
ns3::flame::FlameRtable::~FlameRtable | ( | ) |
Definition at line 52 of file flame-rtable.cc.
|
private |
void ns3::flame::FlameRtable::AddPath | ( | const Mac48Address | destination, |
const Mac48Address | retransmitter, | ||
const uint32_t | interface, | ||
const uint8_t | cost, | ||
const uint16_t | seqnum | ||
) |
Add path.
Definition at line 61 of file flame-rtable.cc.
References ns3::flame::FlameRtable::Route::cost, ns3::flame::FlameRtable::Route::interface, m_lifetime, m_routes, ns3::Now(), NS_ASSERT, ns3::flame::FlameRtable::Route::retransmitter, ns3::flame::FlameRtable::Route::seqnum, and ns3::flame::FlameRtable::Route::whenExpire.
Referenced by ns3::flame::FlameProtocol::HandleDataFrame(), ns3::flame::FlameRtableTest::TestAddPath(), and ns3::flame::FlameRtableTest::TestLookup().
|
virtual |
This method is called by Object::Dispose or by the object's destructor, whichever comes first.
Subclasses are expected to implement their real destruction code in an overriden version of this method and chain up to their parent's implementation once they are done. i.e., for simplicity, the destructor of every subclass should be empty and its content should be moved to the associated DoDispose method.
It is safe to call GetObject from within this method.
Reimplemented from ns3::Object.
Definition at line 56 of file flame-rtable.cc.
References m_routes.
|
static |
Reimplemented from ns3::Object.
Definition at line 34 of file flame-rtable.cc.
References m_lifetime, ns3::Seconds(), and ns3::TypeId::SetParent().
FlameRtable::LookupResult ns3::flame::FlameRtable::Lookup | ( | Mac48Address | destination | ) |
Lookup path to destination.
Definition at line 84 of file flame-rtable.cc.
References m_routes, ns3::Simulator::Now(), and NS_LOG_DEBUG.
Referenced by ns3::flame::FlameProtocol::HandleDataFrame(), ns3::flame::FlameProtocol::RequestRoute(), ns3::flame::FlameRtableTest::TestExpire(), and ns3::flame::FlameRtableTest::TestLookup().
|
private |
|
static |
Means all interfaces.
Definition at line 40 of file flame-rtable.h.
Referenced by ns3::flame::FlameRtable::LookupResult::IsValid(), and ns3::flame::FlameProtocol::RequestRoute().
|
private |
Lifetime parameter.
Definition at line 99 of file flame-rtable.h.
Referenced by AddPath(), and GetTypeId().
|
private |
List of routes.
Definition at line 101 of file flame-rtable.h.
Referenced by AddPath(), DoDispose(), and Lookup().
|
static |
Maximum (the best?) path cost.
Definition at line 42 of file flame-rtable.h.
Referenced by ns3::flame::FlameRtable::LookupResult::IsValid().