Hwmp tag implements interaction between HWMP protocol and MeshWifiMac. More...
#include "hwmp-tag.h"
Public Member Functions | |
HwmpTag () | |
~HwmpTag () override | |
void | DecrementTtl () |
Decrement TTL. | |
void | Deserialize (TagBuffer i) override |
Mac48Address | GetAddress () |
Get address from tag. | |
TypeId | GetInstanceTypeId () const override |
Get the most derived TypeId for this Object. | |
uint32_t | GetMetric () const |
Get the metric value. | |
uint32_t | GetSeqno () const |
Get the sequence number. | |
uint32_t | GetSerializedSize () const override |
uint8_t | GetTtl () const |
Get the TTL value. | |
void | Print (std::ostream &os) const override |
void | Serialize (TagBuffer i) const override |
void | SetAddress (Mac48Address retransmitter) |
Set address. | |
void | SetMetric (uint32_t metric) |
Set the metric value. | |
void | SetSeqno (uint32_t seqno) |
Set sequence number. | |
void | SetTtl (uint8_t ttl) |
Set the TTL value. | |
Public Member Functions inherited from ns3::ObjectBase | |
virtual | ~ObjectBase () |
Virtual destructor. | |
void | GetAttribute (std::string name, AttributeValue &value, bool permissive=false) const |
Get the value of an attribute, raising fatal errors if unsuccessful. | |
bool | GetAttributeFailSafe (std::string name, AttributeValue &value) const |
Get the value of an attribute without raising errors. | |
void | SetAttribute (std::string name, const AttributeValue &value) |
Set a single attribute, raising fatal errors if unsuccessful. | |
bool | SetAttributeFailSafe (std::string name, const AttributeValue &value) |
Set a single attribute without raising errors. | |
bool | TraceConnect (std::string name, std::string context, const CallbackBase &cb) |
Connect a TraceSource to a Callback with a context. | |
bool | TraceConnectWithoutContext (std::string name, const CallbackBase &cb) |
Connect a TraceSource to a Callback without a context. | |
bool | TraceDisconnect (std::string name, std::string context, const CallbackBase &cb) |
Disconnect from a TraceSource a Callback previously connected with a context. | |
bool | TraceDisconnectWithoutContext (std::string name, const CallbackBase &cb) |
Disconnect from a TraceSource a Callback previously connected without a context. | |
Static Public Member Functions | |
static TypeId | GetTypeId () |
Get the type ID. | |
Static Public Member Functions inherited from ns3::Tag | |
static TypeId | GetTypeId () |
Get the type ID. | |
Static Public Member Functions inherited from ns3::ObjectBase | |
static TypeId | GetTypeId () |
Get the type ID. | |
Private Attributes | |
Mac48Address | m_address |
address | |
uint32_t | m_metric |
metric | |
uint32_t | m_seqno |
sequence no | |
uint8_t | m_ttl |
TTL. | |
Additional Inherited Members | |
Protected Member Functions inherited from ns3::ObjectBase | |
void | ConstructSelf (const AttributeConstructionList &attributes) |
Complete construction of ObjectBase; invoked by derived classes. | |
virtual void | NotifyConstructionCompleted () |
Notifier called once the ObjectBase is fully constructed. | |
Related Symbols inherited from ns3::ObjectBase | |
static TypeId | GetObjectIid () |
Ensure the TypeId for ObjectBase gets fully configured to anchor the inheritance tree properly. | |
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.
Group: Mesh
Size of this type is 24 bytes (on a 64-bit architecture).
Definition at line 39 of file hwmp-tag.h.
ns3::dot11s::HwmpTag::HwmpTag | ( | ) |
Definition at line 19 of file hwmp-tag.cc.
|
override |
Definition at line 27 of file hwmp-tag.cc.
void ns3::dot11s::HwmpTag::DecrementTtl | ( | ) |
Decrement TTL.
Definition at line 148 of file hwmp-tag.cc.
References m_ttl.
Referenced by ns3::dot11s::HwmpProtocol::RequestRoute().
|
overridevirtual |
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 124 of file hwmp-tag.cc.
References ns3::Mac48Address::CopyFrom(), m_address, m_metric, m_seqno, m_ttl, ns3::TagBuffer::ReadU32(), and ns3::TagBuffer::ReadU8().
Mac48Address ns3::dot11s::HwmpTag::GetAddress | ( | ) |
Get address from tag.
Definition at line 38 of file hwmp-tag.cc.
References m_address.
Referenced by ns3::dot11s::HwmpProtocolMac::UpdateOutcomingFrame().
|
overridevirtual |
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 94 of file hwmp-tag.cc.
References GetTypeId().
uint32_t ns3::dot11s::HwmpTag::GetMetric | ( | ) | const |
Get the metric value.
Definition at line 62 of file hwmp-tag.cc.
References m_metric.
uint32_t ns3::dot11s::HwmpTag::GetSeqno | ( | ) | const |
Get the sequence number.
Definition at line 74 of file hwmp-tag.cc.
References m_seqno.
Referenced by ns3::dot11s::HwmpProtocolMac::UpdateOutcomingFrame().
|
overridevirtual |
This method is typically invoked by Packet::AddPacketTag or Packet::AddByteTag just prior to calling Tag::Serialize.
Implements ns3::Tag.
Definition at line 100 of file hwmp-tag.cc.
uint8_t ns3::dot11s::HwmpTag::GetTtl | ( | ) | const |
Get the TTL value.
Definition at line 50 of file hwmp-tag.cc.
References m_ttl.
Referenced by ns3::dot11s::HwmpProtocol::RequestRoute(), and ns3::dot11s::HwmpProtocolMac::UpdateOutcomingFrame().
|
static |
Get the type ID.
Definition at line 84 of file hwmp-tag.cc.
References ns3::TypeId::SetParent().
Referenced by GetInstanceTypeId().
|
overridevirtual |
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 139 of file hwmp-tag.cc.
|
overridevirtual |
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 109 of file hwmp-tag.cc.
References ns3::Mac48Address::CopyTo(), m_address, m_metric, m_seqno, m_ttl, ns3::TagBuffer::WriteU32(), and ns3::TagBuffer::WriteU8().
void ns3::dot11s::HwmpTag::SetAddress | ( | Mac48Address | retransmitter | ) |
Set address.
retransmitter | the MAC address of the retransmitter |
Definition at line 32 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().
void ns3::dot11s::HwmpTag::SetMetric | ( | uint32_t | metric | ) |
Set the metric value.
metric | the metric |
Definition at line 56 of file hwmp-tag.cc.
References m_metric.
void ns3::dot11s::HwmpTag::SetSeqno | ( | uint32_t | seqno | ) |
Set sequence number.
seqno | the sequence number |
Definition at line 68 of file hwmp-tag.cc.
References m_seqno.
Referenced by ns3::dot11s::HwmpProtocolMac::ReceiveData(), and ns3::dot11s::HwmpProtocol::RequestRoute().
void ns3::dot11s::HwmpTag::SetTtl | ( | uint8_t | ttl | ) |
Set the TTL value.
ttl |
Definition at line 44 of file hwmp-tag.cc.
References m_ttl.
Referenced by ns3::dot11s::HwmpProtocol::ForwardUnicast(), ns3::dot11s::HwmpProtocolMac::ReceiveData(), and ns3::dot11s::HwmpProtocol::RequestRoute().
|
private |
address
Definition at line 99 of file hwmp-tag.h.
Referenced by Deserialize(), GetAddress(), Print(), Serialize(), and SetAddress().
|
private |
metric
Definition at line 101 of file hwmp-tag.h.
Referenced by Deserialize(), GetMetric(), Print(), Serialize(), and SetMetric().
|
private |
sequence no
Definition at line 102 of file hwmp-tag.h.
Referenced by Deserialize(), GetSeqno(), Print(), Serialize(), and SetSeqno().
|
private |
TTL.
Definition at line 100 of file hwmp-tag.h.
Referenced by DecrementTtl(), Deserialize(), GetTtl(), Print(), Serialize(), and SetTtl().