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
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).
Hwmp tag keeps the following:
Definition at line 39 of file hwmp-tag.h.
| ns3::dot11s::HwmpTag::HwmpTag | ( | ) |
Definition at line 19 of file hwmp-tag.cc.
References m_address, m_metric, m_seqno, and m_ttl.
Referenced by GetTypeId().
|
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 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 provided by ns3::Object::GetInstanceTypeId but classes which derive from ns3::ObjectBase directly have to implement it themselves. Typically, this method should simply return the output of GetTypeId().
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 HwmpTag(), and 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 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 HwmpTag(), Deserialize(), GetAddress(), Print(), Serialize(), and SetAddress().
|
private |
metric
Definition at line 101 of file hwmp-tag.h.
Referenced by HwmpTag(), Deserialize(), GetMetric(), Print(), Serialize(), and SetMetric().
|
private |
sequence no
Definition at line 102 of file hwmp-tag.h.
Referenced by HwmpTag(), Deserialize(), GetSeqno(), Print(), Serialize(), and SetSeqno().
|
private |
TTL.
Definition at line 100 of file hwmp-tag.h.
Referenced by HwmpTag(), DecrementTtl(), Deserialize(), GetTtl(), Print(), Serialize(), and SetTtl().