The aim of the QosTag is to provide means for an Application to specify the TID which will be used by a QoS-aware WifiMac for a given traffic flow. More...
#include <qos-tag.h>
Public Member Functions | |
QosTag () | |
Create a QosTag with the default TID = 0 (best effort traffic) More... | |
QosTag (uint8_t tid) | |
Create a QosTag with the given Traffic ID. More... | |
virtual void | Deserialize (TagBuffer i) |
virtual TypeId | GetInstanceTypeId (void) const |
virtual uint32_t | GetSerializedSize () const |
uint8_t | GetTid (void) const |
Return the Type ID. More... | |
virtual void | Print (std::ostream &os) const |
virtual void | Serialize (TagBuffer i) const |
void | SetTid (uint8_t tid) |
Set the TID to the given value. More... | |
void | SetUserPriority (UserPriority up) |
Set the TID to the value that corresponds to the requested UserPriority. More... | |
Public Member Functions inherited from ns3::ObjectBase | |
virtual | ~ObjectBase () |
Virtual destructor. More... | |
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 (void) |
Static Public Member Functions inherited from ns3::Tag | |
static TypeId | GetTypeId (void) |
Static Public Member Functions inherited from ns3::ObjectBase | |
static TypeId | GetTypeId (void) |
Get the type ID. More... | |
Private Attributes | |
uint8_t | m_tid |
Traffic ID. More... | |
Additional Inherited Members | |
Protected Member Functions inherited from ns3::ObjectBase | |
void | ConstructSelf (const AttributeConstructionList &attributes) |
virtual void | NotifyConstructionCompleted (void) |
This method is invoked once all member attributes have been initialized. More... | |
The aim of the QosTag is to provide means for an Application to specify the TID which will be used by a QoS-aware WifiMac for a given traffic flow.
Doxygen introspection did not find any typical Config paths.
Note that the current QosTag class was designed to be completely mac/wifi specific without any attempt at being generic.
No TraceSources are defined for this type.
ns3::QosTag::QosTag | ( | ) |
Create a QosTag with the default TID = 0 (best effort traffic)
Definition at line 49 of file qos-tag.cc.
ns3::QosTag::QosTag | ( | uint8_t | tid | ) |
Create a QosTag with the given Traffic ID.
tid | the given Traffic ID |
Definition at line 53 of file qos-tag.cc.
|
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 83 of file qos-tag.cc.
References m_tid, and ns3::TagBuffer::ReadU8().
|
virtual |
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 44 of file qos-tag.cc.
References GetTypeId().
|
virtual |
This method is typically invoked by Packet::AddPacketTag or Packet::AddByteTag just prior to calling Tag::Serialize.
Implements ns3::Tag.
Definition at line 71 of file qos-tag.cc.
uint8_t ns3::QosTag::GetTid | ( | void | ) | const |
Return the Type ID.
Definition at line 89 of file qos-tag.cc.
References m_tid.
Referenced by ns3::MeshWifiInterfaceMac::ForwardDown(), GetTypeId(), and ns3::QosUtilsGetTidForPacket().
|
static |
Definition at line 30 of file qos-tag.cc.
References GetTid(), and ns3::TypeId::SetParent().
Referenced by GetInstanceTypeId().
|
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 95 of file qos-tag.cc.
References m_tid.
|
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 77 of file qos-tag.cc.
References m_tid, and ns3::TagBuffer::WriteU8().
void ns3::QosTag::SetTid | ( | uint8_t | tid | ) |
Set the TID to the given value.
This assumes that the application is aware of the QoS support provided by the MAC layer, and is therefore able to set the correct TID.
tid | the value of the TID to set |
Definition at line 59 of file qos-tag.cc.
References m_tid.
void ns3::QosTag::SetUserPriority | ( | UserPriority | up | ) |
Set the TID to the value that corresponds to the requested UserPriority.
Note that, since the mapping of UserPriority to TID is defined for EDCA only, you should call this method only when EDCA is used. When using HDCA, QosTag(uint8_t tid) should be used instead.
up | the requested UserPriority |
Definition at line 65 of file qos-tag.cc.
References m_tid.
|
private |
Traffic ID.
Definition at line 113 of file qos-tag.h.
Referenced by Deserialize(), GetTid(), Print(), Serialize(), SetTid(), and SetUserPriority().