ns-3
ns3::QosWifiMacHelper Class Reference

create QoS-enabled MAC layers for a ns3::WifiNetDevice. More...

#include <qos-wifi-mac-helper.h>

Inheritance diagram for ns3::QosWifiMacHelper:
Collaboration diagram for ns3::QosWifiMacHelper:

List of all members.

Public Member Functions

 QosWifiMacHelper ()
void SetType (std::string type, std::string n0="", const AttributeValue &v0=EmptyAttributeValue(), std::string n1="", const AttributeValue &v1=EmptyAttributeValue(), std::string n2="", const AttributeValue &v2=EmptyAttributeValue(), std::string n3="", const AttributeValue &v3=EmptyAttributeValue(), std::string n4="", const AttributeValue &v4=EmptyAttributeValue(), std::string n5="", const AttributeValue &v5=EmptyAttributeValue(), std::string n6="", const AttributeValue &v6=EmptyAttributeValue(), std::string n7="", const AttributeValue &v7=EmptyAttributeValue())
void SetMsduAggregatorForAc (AcIndex ac, std::string type, std::string n0="", const AttributeValue &v0=EmptyAttributeValue(), std::string n1="", const AttributeValue &v1=EmptyAttributeValue(), std::string n2="", const AttributeValue &v2=EmptyAttributeValue(), std::string n3="", const AttributeValue &v3=EmptyAttributeValue())
void SetBlockAckThresholdForAc (enum AcIndex ac, uint8_t threshold)
void SetBlockAckInactivityTimeoutForAc (enum AcIndex ac, uint16_t timeout)

Static Public Member Functions

static QosWifiMacHelper Default (void)

Detailed Description

create QoS-enabled MAC layers for a ns3::WifiNetDevice.

This class can create MACs of type ns3::ApWifiMac, ns3::StaWifiMac, and, ns3::AdhocWifiMac, with QosSupported attribute set to True.


Constructor & Destructor Documentation

Create a QosWifiMacHelper that is used to make life easier when working with Wifi devices using a QOS MAC layer.


Member Function Documentation

Create a mac helper in a default working state.

References SetType().

void ns3::QosWifiMacHelper::SetBlockAckInactivityTimeoutForAc ( enum AcIndex  ac,
uint16_t  timeout 
)

Sets value of block ack inactivity timeout for a specific access class. timeout represents number of blocks of 1024 microseconds. When this timer expires the relative block ack agreement is teared down. Timer is reset in an recipient station every time that a block ack request or a MPDU with ack policy BLOCK ACK is received. Timer is reset in a originator station every time that a block ack frame is received.

Parameters:
acaccess category for which we are setting block ack threshold. Possibilities are: AC_BK, AC_BE, AC_VI, AC_VO.
timeoutnumber of block of 1024 microseconds.
void ns3::QosWifiMacHelper::SetBlockAckThresholdForAc ( enum AcIndex  ac,
uint8_t  threshold 
)

This method sets value of block ack threshold for a specific access class. If number of packets in the respective queue reaches this value block ack mechanism is used.

Parameters:
acaccess category for which we are setting block ack threshold. Possibilities are: AC_BK, AC_BE, AC_VI, AC_VO.
thresholdthe threshold (number of packets)
void ns3::QosWifiMacHelper::SetMsduAggregatorForAc ( AcIndex  ac,
std::string  type,
std::string  n0 = "",
const AttributeValue v0 = EmptyAttributeValue (),
std::string  n1 = "",
const AttributeValue v1 = EmptyAttributeValue (),
std::string  n2 = "",
const AttributeValue v2 = EmptyAttributeValue (),
std::string  n3 = "",
const AttributeValue v3 = EmptyAttributeValue () 
)

Set the class, type and attributes for the Msdu aggregator

Parameters:
acaccess category for which we are setting aggregator. Possibilities are: AC_BK, AC_BE, AC_VI, AC_VO.
typethe type of ns3::MsduAggregator to create.
n0the name of the attribute to set
v0the value of the attribute to set
n1the name of the attribute to set
v1the value of the attribute to set
n2the name of the attribute to set
v2the value of the attribute to set
n3the name of the attribute to set
v3the value of the attribute to set

All the attributes specified in this method should exist in the requested aggregator.

References ns3::ObjectFactory::Set(), and ns3::ObjectFactory::SetTypeId().

void ns3::QosWifiMacHelper::SetType ( std::string  type,
std::string  n0 = "",
const AttributeValue v0 = EmptyAttributeValue (),
std::string  n1 = "",
const AttributeValue v1 = EmptyAttributeValue (),
std::string  n2 = "",
const AttributeValue v2 = EmptyAttributeValue (),
std::string  n3 = "",
const AttributeValue v3 = EmptyAttributeValue (),
std::string  n4 = "",
const AttributeValue v4 = EmptyAttributeValue (),
std::string  n5 = "",
const AttributeValue v5 = EmptyAttributeValue (),
std::string  n6 = "",
const AttributeValue v6 = EmptyAttributeValue (),
std::string  n7 = "",
const AttributeValue v7 = EmptyAttributeValue () 
)

Set the underlying type of the MAC and its attributes.

Parameters:
typethe type of ns3::WifiMac to create.
n0the name of the attribute to set
v0the value of the attribute to set
n1the name of the attribute to set
v1the value of the attribute to set
n2the name of the attribute to set
v2the value of the attribute to set
n3the name of the attribute to set
v3the value of the attribute to set
n4the name of the attribute to set
v4the value of the attribute to set
n5the name of the attribute to set
v5the value of the attribute to set
n6the name of the attribute to set
v6the value of the attribute to set
n7the name of the attribute to set
v7the value of the attribute to set

All the attributes specified in this method should exist in the requested mac.

References ns3::ObjectFactory::Set(), and ns3::ObjectFactory::SetTypeId().

Referenced by Default().


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