See IEEE 802.11 chapter 7.3.1.11 Header format: | category: 1 | action value: 1 |. More...
#include "mgt-headers.h"
Classes | |
union | ActionValue |
typedef for union of different ActionValues More... | |
Public Member Functions | |
WifiActionHeader () | |
~WifiActionHeader () | |
uint32_t | Deserialize (Buffer::Iterator start) |
ActionValue | GetAction () |
Return the action value. More... | |
CategoryValue | GetCategory () |
Return the category value. More... | |
TypeId | GetInstanceTypeId () const |
Get the most derived TypeId for this Object. More... | |
uint32_t | GetSerializedSize () const |
void | Print (std::ostream &os) const |
void | Serialize (Buffer::Iterator start) const |
void | SetAction (CategoryValue type, ActionValue action) |
Set action for this Action header. More... | |
Public Member Functions inherited from ns3::Header | |
virtual | ~Header () |
virtual uint32_t | Deserialize (Buffer::Iterator start)=0 |
Deserialize the object from a buffer iterator. More... | |
virtual uint32_t | Deserialize (Buffer::Iterator start, Buffer::Iterator end) |
Deserialize the object from a buffer iterator. More... | |
Public Member Functions inherited from ns3::Chunk | |
virtual uint32_t | Deserialize (Buffer::Iterator start, Buffer::Iterator end) |
Deserialize the object from a buffer iterator. More... | |
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 (void) |
Register this type. More... | |
Static Public Member Functions inherited from ns3::Header | |
static TypeId | GetTypeId (void) |
Get the type ID. More... | |
Static Public Member Functions inherited from ns3::Chunk | |
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 Member Functions | |
std::string | CategoryValueToString (CategoryValue value) const |
Category value to string function. More... | |
std::string | SelfProtectedActionValueToString (SelfProtectedActionValue value) const |
Self protected action value to string function. More... | |
Private Attributes | |
uint8_t | m_actionValue |
Action value. More... | |
uint8_t | m_category |
Category of the action. More... | |
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... | |
See IEEE 802.11 chapter 7.3.1.11 Header format: | category: 1 | action value: 1 |.
Definition at line 884 of file mgt-headers.h.
Block Ack Action field values See 802.11 Table 8-202.
Enumerator | |
---|---|
BLOCK_ACK_ADDBA_REQUEST | |
BLOCK_ACK_ADDBA_RESPONSE | |
BLOCK_ACK_DELBA |
Definition at line 944 of file mgt-headers.h.
CategoryValue enumeration.
Enumerator | |
---|---|
BLOCK_ACK | |
MESH | |
MULTIHOP | |
SELF_PROTECTED | |
VENDOR_SPECIFIC_ACTION |
Definition at line 896 of file mgt-headers.h.
MeshActionValue enumeration.
Definition at line 925 of file mgt-headers.h.
MultihopActionValue enumeration.
Enumerator | |
---|---|
PROXY_UPDATE | |
PROXY_UPDATE_CONFIRMATION |
Definition at line 918 of file mgt-headers.h.
SelfProtectedActionValue enumeration.
Enumerator | |
---|---|
PEER_LINK_OPEN | |
PEER_LINK_CONFIRM | |
PEER_LINK_CLOSE | |
GROUP_KEY_INFORM | |
GROUP_KEY_ACK |
Definition at line 908 of file mgt-headers.h.
ns3::WifiActionHeader::WifiActionHeader | ( | ) |
Definition at line 1183 of file mgt-headers.cc.
ns3::WifiActionHeader::~WifiActionHeader | ( | ) |
Definition at line 1187 of file mgt-headers.cc.
|
private |
Category value to string function.
value | the category value |
Definition at line 1373 of file mgt-headers.cc.
References BLOCK_ACK, MESH, SELF_PROTECTED, and VENDOR_SPECIFIC_ACTION.
Referenced by Print().
|
virtual |
start | an iterator which points to where the header should read from. |
This method is used by Packet::RemoveHeader to re-create a header from the byte buffer of a packet. The data read is expected to match bit-for-bit the representation of this header in real networks.
Note that data is not actually removed from the buffer to which the iterator points. Both Packet::RemoveHeader() and Packet::PeekHeader() call Deserialize(), but only the RemoveHeader() has additional statements to remove the header bytes from the underlying buffer and associated metadata.
Implements ns3::Header.
Definition at line 1450 of file mgt-headers.cc.
References ns3::Buffer::Iterator::GetDistanceFrom(), m_actionValue, m_category, ns3::Buffer::Iterator::ReadU8(), and visualizer.core::start().
WifiActionHeader::ActionValue ns3::WifiActionHeader::GetAction | ( | ) |
Return the action value.
Definition at line 1247 of file mgt-headers.cc.
References BLOCK_ACK, BLOCK_ACK_ADDBA_REQUEST, BLOCK_ACK_ADDBA_RESPONSE, BLOCK_ACK_DELBA, ns3::WifiActionHeader::ActionValue::blockAck, CONGESTION_CONTROL_NOTIFICATION, GROUP_KEY_ACK, GROUP_KEY_INFORM, LINK_METRIC_REPORT, m_actionValue, m_category, MDA_SETUP_REPLY, MDA_SETUP_REQUEST, MDAOP_ADVERTISMENT_REQUEST, MDAOP_ADVERTISMENTS, MDAOP_SET_TEARDOWN, MESH, ns3::WifiActionHeader::ActionValue::meshAction, MULTIHOP, ns3::WifiActionHeader::ActionValue::multihopAction, NS_FATAL_ERROR, PATH_SELECTION, PEER_LINK_CLOSE, PEER_LINK_CONFIRM, PEER_LINK_OPEN, PORTAL_ANNOUNCEMENT, PROXY_UPDATE, PROXY_UPDATE_CONFIRMATION, SELF_PROTECTED, ns3::WifiActionHeader::ActionValue::selfProtectedAction, TBTT_ADJUSTMENT_REQUEST, and TBTT_ADJUSTMENT_RESPONSE.
Referenced by ns3::GetTid(), ns3::HtFrameExchangeManager::NotifyReceivedNormalAck(), ns3::dot11s::PeerManagementProtocolMac::Receive(), and ns3::WifiMac::Receive().
WifiActionHeader::CategoryValue ns3::WifiActionHeader::GetCategory | ( | void | ) |
Return the category value.
Definition at line 1226 of file mgt-headers.cc.
References BLOCK_ACK, m_category, MESH, MULTIHOP, NS_FATAL_ERROR, SELF_PROTECTED, and VENDOR_SPECIFIC_ACTION.
Referenced by ns3::GetTid(), ns3::HtFrameExchangeManager::NotifyPacketDiscarded(), ns3::HtFrameExchangeManager::NotifyReceivedNormalAck(), ns3::dot11s::PeerManagementProtocolMac::Receive(), ns3::WifiMac::Receive(), ns3::dot11s::HwmpProtocolMac::ReceiveAction(), and ns3::dot11s::PeerManagementProtocolMac::UpdateOutcomingFrame().
|
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 1367 of file mgt-headers.cc.
References GetTypeId().
|
virtual |
This method is used by Packet::AddHeader to store a header into the byte buffer of a packet. This method should return the number of bytes which are needed to store the full header data by Serialize.
Implements ns3::Header.
Definition at line 1437 of file mgt-headers.cc.
|
static |
Register this type.
Definition at line 1356 of file mgt-headers.cc.
References ns3::TypeId::SetParent().
Referenced by GetInstanceTypeId().
|
virtual |
os | output stream This method is used by Packet::Print to print the content of a header as ascii data to a c++ output stream. Although the header is free to format its output as it wishes, it is recommended to follow a few rules to integrate with the packet pretty printer: start with flags, small field values located between a pair of parens. Values should be separated by whitespace. Follow the parens with the important fields, separated by whitespace. i.e.: (field1 val1 field2 val2 field3 val3) field4 val4 field5 val5 |
Implements ns3::Header.
Definition at line 1430 of file mgt-headers.cc.
References CategoryValueToString(), m_actionValue, m_category, and SelfProtectedActionValueToString().
|
private |
Self protected action value to string function.
value | the protected action value |
Definition at line 1399 of file mgt-headers.cc.
References GROUP_KEY_ACK, GROUP_KEY_INFORM, PEER_LINK_CLOSE, PEER_LINK_CONFIRM, and PEER_LINK_OPEN.
Referenced by Print().
|
virtual |
start | an iterator which points to where the header should be written. |
This method is used by Packet::AddHeader to store a header into the byte buffer of a packet. The data written is expected to match bit-for-bit the representation of this header in a real network.
Implements ns3::Header.
Definition at line 1443 of file mgt-headers.cc.
References m_actionValue, m_category, and visualizer.core::start().
void ns3::WifiActionHeader::SetAction | ( | WifiActionHeader::CategoryValue | type, |
WifiActionHeader::ActionValue | action | ||
) |
Set action for this Action header.
type | category |
action | action |
Definition at line 1192 of file mgt-headers.cc.
References BLOCK_ACK, ns3::WifiActionHeader::ActionValue::blockAck, m_actionValue, m_category, MESH, ns3::WifiActionHeader::ActionValue::meshAction, MULTIHOP, ns3::WifiActionHeader::ActionValue::multihopAction, SELF_PROTECTED, ns3::WifiActionHeader::ActionValue::selfProtectedAction, and VENDOR_SPECIFIC_ACTION.
Referenced by ns3::dot11s::HwmpProtocolMac::GetWifiActionHeader(), ns3::HtFrameExchangeManager::SendAddBaRequest(), ns3::HtFrameExchangeManager::SendAddBaResponse(), ns3::HtFrameExchangeManager::SendDelbaFrame(), and ns3::dot11s::PeerManagementProtocolMac::SendPeerLinkManagementFrame().
|
private |
Action value.
Definition at line 1009 of file mgt-headers.h.
Referenced by Deserialize(), GetAction(), Print(), Serialize(), and SetAction().
|
private |
Category of the action.
Definition at line 1008 of file mgt-headers.h.
Referenced by Deserialize(), GetAction(), GetCategory(), Print(), Serialize(), and SetAction().