Hwmp tag implements interaction between HWMP protocol and MeshWifiMac. More...
#include "hwmp-tag.h"
Inheritance diagram for ns3::dot11s::HwmpTag:
Collaboration diagram for ns3::dot11s::HwmpTag:Public Member Functions | |
| HwmpTag () | |
| ~HwmpTag () | |
| void | DecrementTtl () |
| virtual void | Deserialize (TagBuffer i) |
| Mac48Address | GetAddress () |
| virtual TypeId | GetInstanceTypeId () const |
| Get the most derived TypeId for this Object. More... | |
| uint32_t | GetMetric () |
| uint32_t | GetSeqno () |
| virtual uint32_t | GetSerializedSize () const |
| uint8_t | GetTtl () |
| virtual void | Print (std::ostream &os) const |
| virtual void | Serialize (TagBuffer i) const |
| void | SetAddress (Mac48Address retransmitter) |
| void | SetMetric (uint32_t metric) |
| void | SetSeqno (uint32_t seqno) |
| void | SetTtl (uint8_t ttl) |
Public Member Functions inherited from ns3::ObjectBase | |
| virtual | ~ObjectBase () |
| Virtual destructor. More... | |
| void | GetAttribute (std::string name, AttributeValue &value) const |
| Get the value of an attribute, raising fatal errors if unsuccessful. More... | |
| bool | GetAttributeFailSafe (std::string name, AttributeValue &value) const |
| Get the value of an attribute without raising erros. More... | |
| void | SetAttribute (std::string name, const AttributeValue &value) |
| Set a single attribute, raising fatal errors if unsuccessful. More... | |
| bool | SetAttributeFailSafe (std::string name, const AttributeValue &value) |
| Set a single attribute without raising errors. More... | |
| bool | TraceConnect (std::string name, std::string context, const CallbackBase &cb) |
| Connect a TraceSource to a Callback with a context. More... | |
| bool | TraceConnectWithoutContext (std::string name, const CallbackBase &cb) |
| Connect a TraceSource to a Callback without a context. More... | |
| bool | TraceDisconnect (std::string name, std::string context, const CallbackBase &cb) |
| Disconnect from a TraceSource a Callback previously connected with a context. More... | |
| bool | TraceDisconnectWithoutContext (std::string name, const CallbackBase &cb) |
| Disconnect from a TraceSource a Callback previously connected without a context. More... | |
Static Public Member Functions | |
| static TypeId | GetTypeId () |
Static Public Member Functions inherited from ns3::Tag | |
| static TypeId | GetTypeId (void) |
| Get the type ID. More... | |
Static Public Member Functions inherited from ns3::ObjectBase | |
| static TypeId | GetTypeId (void) |
| Get the type ID. More... | |
Private Attributes | |
| Mac48Address | m_address |
| uint32_t | m_metric |
| uint32_t | m_seqno |
| uint8_t | m_ttl |
Additional Inherited Members | |
Protected Member Functions inherited from ns3::ObjectBase | |
| void | ConstructSelf (const AttributeConstructionList &attributes) |
| Complete construction of ObjectBase; invoked by derived classes. More... | |
| virtual void | NotifyConstructionCompleted (void) |
| Notifier called once the ObjectBase is fully constructed. More... | |
Related Functions inherited from ns3::ObjectBase | |
| static TypeId | GetObjectIid (void) |
| Ensure the TypeId for ObjectBase gets fully configured to anchor the inheritance tree properly. More... | |
Hwmp tag implements interaction between HWMP protocol and MeshWifiMac.
Introspection did not find any typical Config paths.
Hwmp tag keeps the following:
No Attributes are defined for this type.
No TraceSources are defined for this type.
Size of this type is 24 bytes (on a 64-bit architecture).
Definition at line 48 of file hwmp-tag.h.
| ns3::dot11s::HwmpTag::HwmpTag | ( | ) |
Definition at line 29 of file hwmp-tag.cc.
| ns3::dot11s::HwmpTag::~HwmpTag | ( | ) |
Definition at line 34 of file hwmp-tag.cc.
| void ns3::dot11s::HwmpTag::DecrementTtl | ( | ) |
Definition at line 151 of file hwmp-tag.cc.
References m_ttl.
Referenced by ns3::dot11s::HwmpProtocol::RequestRoute().
Here is the caller graph for this function:
|
virtual |
| i | the buffer to read data from. |
Read the content of the tag from the provided tag buffer. DO NOT attempt to read more bytes than you wrote with Tag::Serialize.
Implements ns3::Tag.
Definition at line 128 of file hwmp-tag.cc.
References first::address, ns3::Mac48Address::CopyFrom(), m_address, m_metric, m_seqno, m_ttl, ns3::TagBuffer::ReadU32(), and ns3::TagBuffer::ReadU8().
Here is the call graph for this function:| Mac48Address ns3::dot11s::HwmpTag::GetAddress | ( | void | ) |
Definition at line 45 of file hwmp-tag.cc.
References m_address.
Referenced by ns3::dot11s::HwmpProtocolMac::UpdateOutcomingFrame().
Here is the caller graph for this function:
|
virtual |
Get the most derived TypeId for this Object.
This method is typically implemented by ns3::Object::GetInstanceTypeId but some classes which derive from ns3::ObjectBase directly have to implement it themselves.
Implements ns3::ObjectBase.
Definition at line 98 of file hwmp-tag.cc.
References GetTypeId().
Here is the call graph for this function:| uint32_t ns3::dot11s::HwmpTag::GetMetric | ( | void | ) |
Definition at line 69 of file hwmp-tag.cc.
References m_metric.
| uint32_t ns3::dot11s::HwmpTag::GetSeqno | ( | ) |
Definition at line 81 of file hwmp-tag.cc.
References m_seqno.
Referenced by ns3::dot11s::HwmpProtocolMac::UpdateOutcomingFrame().
Here is the caller graph for this function:
|
virtual |
This method is typically invoked by Packet::AddPacketTag or Packet::AddByteTag just prior to calling Tag::Serialize.
Implements ns3::Tag.
Definition at line 104 of file hwmp-tag.cc.
| uint8_t ns3::dot11s::HwmpTag::GetTtl | ( | void | ) |
Definition at line 57 of file hwmp-tag.cc.
References m_ttl.
Referenced by ns3::dot11s::HwmpProtocol::RequestRoute(), and ns3::dot11s::HwmpProtocolMac::UpdateOutcomingFrame().
Here is the caller graph for this function:
|
static |
Definition at line 87 of file hwmp-tag.cc.
References ns3::TypeId::SetParent().
Referenced by GetInstanceTypeId().
Here is the call graph for this function:
Here is the caller graph for this function:
|
virtual |
| os | the stream to print to |
This method is typically invoked from the Packet::PrintByteTags or Packet::PrintPacketTags methods.
Implements ns3::Tag.
Definition at line 143 of file hwmp-tag.cc.
|
virtual |
| i | the buffer to write data into. |
Write the content of the tag in the provided tag buffer. DO NOT attempt to write more bytes than you requested with Tag::GetSerializedSize.
Implements ns3::Tag.
Definition at line 113 of file hwmp-tag.cc.
References first::address, ns3::Mac48Address::CopyTo(), m_address, m_metric, m_seqno, m_ttl, ns3::TagBuffer::WriteU32(), and ns3::TagBuffer::WriteU8().
Here is the call graph for this function:| void ns3::dot11s::HwmpTag::SetAddress | ( | Mac48Address | retransmitter | ) |
Definition at line 39 of file hwmp-tag.cc.
References m_address.
Referenced by ns3::dot11s::HwmpProtocol::ForwardUnicast(), ns3::dot11s::HwmpProtocol::ProactivePathResolved(), ns3::dot11s::HwmpProtocol::ReactivePathResolved(), and ns3::dot11s::HwmpProtocol::RequestRoute().
Here is the caller graph for this function:| void ns3::dot11s::HwmpTag::SetMetric | ( | uint32_t | metric | ) |
Definition at line 63 of file hwmp-tag.cc.
References m_metric.
| void ns3::dot11s::HwmpTag::SetSeqno | ( | uint32_t | seqno | ) |
Definition at line 75 of file hwmp-tag.cc.
References m_seqno.
Referenced by ns3::dot11s::HwmpProtocolMac::ReceiveData(), and ns3::dot11s::HwmpProtocol::RequestRoute().
Here is the caller graph for this function:| void ns3::dot11s::HwmpTag::SetTtl | ( | uint8_t | ttl | ) |
Definition at line 51 of file hwmp-tag.cc.
References m_ttl.
Referenced by ns3::dot11s::HwmpProtocol::ForwardUnicast(), ns3::dot11s::HwmpProtocolMac::ReceiveData(), and ns3::dot11s::HwmpProtocol::RequestRoute().
Here is the caller graph for this function:
|
private |
Definition at line 70 of file hwmp-tag.h.
Referenced by Deserialize(), GetAddress(), Print(), Serialize(), and SetAddress().
|
private |
Definition at line 72 of file hwmp-tag.h.
Referenced by Deserialize(), GetMetric(), Print(), Serialize(), and SetMetric().
|
private |
Definition at line 73 of file hwmp-tag.h.
Referenced by Deserialize(), GetSeqno(), Print(), Serialize(), and SetSeqno().
|
private |
Definition at line 71 of file hwmp-tag.h.
Referenced by DecrementTtl(), Deserialize(), GetTtl(), Print(), Serialize(), and SetTtl().