A Discrete-Event Network Simulator
API
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
ns3::WifiActionHeader Class Reference

See IEEE 802.11 chapter 7.3.1.11 Header format: | category: 1 | action value: 1 |. More...

#include <mgt-headers.h>

+ Inheritance diagram for ns3::WifiActionHeader:
+ Collaboration diagram for ns3::WifiActionHeader:

Classes

union  ActionValue
 typedef for union of different ActionValues More...
 

Public Types

enum  BlockAckActionValue { BLOCK_ACK_ADDBA_REQUEST = 0, BLOCK_ACK_ADDBA_RESPONSE = 1, BLOCK_ACK_DELBA = 2 }
 Block ACK action field values See 802.11 Table 8-202. More...
 
enum  CategoryValue {
  BLOCK_ACK = 3, MESH_PEERING_MGT = 30, MESH_LINK_METRIC = 31, MESH_PATH_SELECTION = 32,
  MESH_INTERWORKING = 33, MESH_RESOURCE_COORDINATION = 34, MESH_PROXY_FORWARDING = 35, VENDOR_SPECIFIC_ACTION = 127
}
 Compatible with open80211s implementation Category values - see 802.11-2012 Table 8-38. More...
 
enum  InterworkActionValue { PORTAL_ANNOUNCEMENT = 0 }
 
enum  LinkMetricActionValue { LINK_METRIC_REQUEST = 0, LINK_METRIC_REPORT }
 
enum  PathSelectionActionValue { PATH_SELECTION = 0 }
 Compatible with open80211s implementation. More...
 
enum  PeerLinkMgtActionValue { PEER_LINK_OPEN = 0, PEER_LINK_CONFIRM = 1, PEER_LINK_CLOSE = 2 }
 Compatible with open80211s implementation. More...
 
enum  ResourceCoordinationActionValue {
  CONGESTION_CONTROL_NOTIFICATION = 0, MDA_SETUP_REQUEST, MDA_SETUP_REPLY, MDAOP_ADVERTISMENT_REQUEST,
  MDAOP_ADVERTISMENTS, MDAOP_SET_TEARDOWN, BEACON_TIMING_REQUEST, BEACON_TIMING_RESPONSE,
  TBTT_ADJUSTMENT_REQUEST, MESH_CHANNEL_SWITCH_ANNOUNCEMENT
}
 

Public Member Functions

 WifiActionHeader ()
 
 ~WifiActionHeader ()
 
virtual uint32_t Deserialize (Buffer::Iterator start)
 
ActionValue GetAction ()
 Return the action value. More...
 
CategoryValue GetCategory ()
 Return the category value. More...
 
virtual TypeId GetInstanceTypeId () const
 
virtual uint32_t GetSerializedSize () const
 
virtual void Print (std::ostream &os) const
 
virtual void Serialize (Buffer::Iterator start) const
 
void SetAction (enum CategoryValue type, ActionValue action)
 Set action for this Action header. More...
 
- Public Member Functions inherited from ns3::Header
virtual ~Header ()
 
- 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::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 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)
 
virtual void NotifyConstructionCompleted (void)
 This method is invoked once all member attributes have been initialized. More...
 

Detailed Description

See IEEE 802.11 chapter 7.3.1.11 Header format: | category: 1 | action value: 1 |.

Definition at line 336 of file mgt-headers.h.

Member Enumeration Documentation

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 401 of file mgt-headers.h.

Compatible with open80211s implementation Category values - see 802.11-2012 Table 8-38.

Enumerator
BLOCK_ACK 
MESH_PEERING_MGT 
MESH_LINK_METRIC 
MESH_PATH_SELECTION 
MESH_INTERWORKING 
MESH_RESOURCE_COORDINATION 
MESH_PROXY_FORWARDING 
VENDOR_SPECIFIC_ACTION 

Definition at line 346 of file mgt-headers.h.

Enumerator
PORTAL_ANNOUNCEMENT 

Definition at line 380 of file mgt-headers.h.

Enumerator
LINK_METRIC_REQUEST 
LINK_METRIC_REPORT 

Definition at line 368 of file mgt-headers.h.

Compatible with open80211s implementation.

Enumerator
PATH_SELECTION 

Definition at line 376 of file mgt-headers.h.

Compatible with open80211s implementation.

Enumerator
PEER_LINK_OPEN 
PEER_LINK_CONFIRM 
PEER_LINK_CLOSE 

Definition at line 362 of file mgt-headers.h.

Enumerator
CONGESTION_CONTROL_NOTIFICATION 
MDA_SETUP_REQUEST 
MDA_SETUP_REPLY 
MDAOP_ADVERTISMENT_REQUEST 
MDAOP_ADVERTISMENTS 
MDAOP_SET_TEARDOWN 
BEACON_TIMING_REQUEST 
BEACON_TIMING_RESPONSE 
TBTT_ADJUSTMENT_REQUEST 
MESH_CHANNEL_SWITCH_ANNOUNCEMENT 

Definition at line 384 of file mgt-headers.h.

Constructor & Destructor Documentation

ns3::WifiActionHeader::WifiActionHeader ( )

Definition at line 471 of file mgt-headers.cc.

ns3::WifiActionHeader::~WifiActionHeader ( )

Definition at line 474 of file mgt-headers.cc.

Member Function Documentation

uint32_t ns3::WifiActionHeader::Deserialize ( Buffer::Iterator  start)
virtual
Parameters
startan iterator which points to where the header should written.
Returns
the number of bytes read.

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.

Implements ns3::Header.

Definition at line 628 of file mgt-headers.cc.

References ns3::Buffer::Iterator::GetDistanceFrom(), m_actionValue, m_category, ns3::Buffer::Iterator::ReadU8(), and visualizer.core::start().

+ Here is the call graph for this function:

TypeId ns3::WifiActionHeader::GetInstanceTypeId ( ) const
virtual
Returns
the TypeId associated to the most-derived type of this instance.

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 608 of file mgt-headers.cc.

References GetTypeId().

+ Here is the call graph for this function:

uint32_t ns3::WifiActionHeader::GetSerializedSize ( ) const
virtual
Returns
the expected size of the header.

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 617 of file mgt-headers.cc.

TypeId ns3::WifiActionHeader::GetTypeId ( void  )
static

Definition at line 600 of file mgt-headers.cc.

References ns3::TypeId::SetParent().

Referenced by GetInstanceTypeId().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void ns3::WifiActionHeader::Print ( std::ostream &  os) const
virtual
Parameters
osoutput stream This method is used by Packet::Print to print the content of a trailer as ascii data to a c++ output stream. Although the trailer 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 613 of file mgt-headers.cc.

void ns3::WifiActionHeader::Serialize ( Buffer::Iterator  start) const
virtual
Parameters
startan 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 622 of file mgt-headers.cc.

References m_actionValue, m_category, and ns3::Buffer::Iterator::WriteU8().

+ Here is the call graph for this function:

Member Data Documentation

uint8_t ns3::WifiActionHeader::m_actionValue
private

Action value.

Definition at line 447 of file mgt-headers.h.

Referenced by Deserialize(), GetAction(), Serialize(), and SetAction().

uint8_t ns3::WifiActionHeader::m_category
private

Category of the action.

Definition at line 446 of file mgt-headers.h.

Referenced by Deserialize(), GetAction(), GetCategory(), Serialize(), and SetAction().


The documentation for this class was generated from the following files: