create MAC layers for a ns3::WifiNetDevice. More...
#include "wifi-mac-helper.h"
Public Member Functions | |
WifiMacHelper () | |
Create a WifiMacHelper to make life easier for people who want to work with Wifi MAC layers. More... | |
virtual | ~WifiMacHelper () |
Destroy a WifiMacHelper. More... | |
virtual Ptr< WifiMac > | Create (void) const |
virtual 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(), std::string n8="", const AttributeValue &v8=EmptyAttributeValue(), std::string n9="", const AttributeValue &v9=EmptyAttributeValue(), std::string n10="", const AttributeValue &v10=EmptyAttributeValue()) |
Protected Attributes | |
ObjectFactory | m_mac |
MAC object factory. More... | |
create MAC layers for a ns3::WifiNetDevice.
This class can create MACs of type ns3::ApWifiMac, ns3::StaWifiMac and ns3::AdhocWifiMac. Its purpose is to allow a WifiHelper to configure and install WifiMac objects on a collection of nodes. The WifiMac objects themselves are mainly composed of TxMiddle, RxMiddle, ChannelAccessManager, MacLow, WifiRemoteStationManager, MpduAggregator and MsduAggregartor objects, so this helper offers the opportunity to configure attribute values away from their default values, on a per-NodeContainer basis. By default, it creates an Adhoc MAC layer without QoS. Typically, it is used to set type and attribute values, then hand this object over to the WifiHelper that finishes the job of installing.
This class may be further subclassed (WaveMacHelper is an example of this).
Definition at line 45 of file wifi-mac-helper.h.
ns3::WifiMacHelper::WifiMacHelper | ( | ) |
Create a WifiMacHelper to make life easier for people who want to work with Wifi MAC layers.
Definition at line 27 of file wifi-mac-helper.cc.
References SetType().
|
virtual |
Destroy a WifiMacHelper.
Definition at line 34 of file wifi-mac-helper.cc.
This allows the ns3::WifiHelper class to create MAC objects from ns3::WifiHelper::Install.
Definition at line 67 of file wifi-mac-helper.cc.
References ns3::ObjectFactory::Create(), m_mac, and third::mac.
Referenced by ns3::WaveHelper::Install(), and ns3::WifiHelper::Install().
|
virtual |
type | the type of ns3::WifiMac to create. Valid values of the type field must be a type subclassed from WifiMac. |
n0 | the name of the attribute to set |
v0 | the value of the attribute to set |
n1 | the name of the attribute to set |
v1 | the value of the attribute to set |
n2 | the name of the attribute to set |
v2 | the value of the attribute to set |
n3 | the name of the attribute to set |
v3 | the value of the attribute to set |
n4 | the name of the attribute to set |
v4 | the value of the attribute to set |
n5 | the name of the attribute to set |
v5 | the value of the attribute to set |
n6 | the name of the attribute to set |
v6 | the value of the attribute to set |
n7 | the name of the attribute to set |
v7 | the value of the attribute to set |
n8 | the name of the attribute to set |
v8 | the value of the attribute to set |
n9 | the name of the attribute to set |
v9 | the value of the attribute to set |
n10 | the name of the attribute to set |
v10 | the value of the attribute to set |
All the attributes specified in this method should exist in the requested mac.
Reimplemented in ns3::QosWaveMacHelper, and ns3::NqosWaveMacHelper.
Definition at line 39 of file wifi-mac-helper.cc.
References m_mac, ns3::ObjectFactory::Set(), and ns3::ObjectFactory::SetTypeId().
Referenced by OcbWifiMacTestCase::ConfigureAdhocMode(), OcbWifiMacTestCase::ConfigureApStaMode(), BatteryLifetimeTest::ConstantLoadTest(), Bug772ChainTest::CreateDevices(), AodvExample::CreateDevices(), DsdvManetExample::CreateDevices(), ChainRegressionTest::CreateDevices(), BasicEnergyDepletionTest::DepletionTestCase(), WifiMsduAggregatorThroughputTest::DoRun(), WifiAcMappingTest::DoRun(), ns3::aodv::LoopbackTestCase::DoRun(), SetChannelFrequencyTest::DoRun(), experiment(), RoutingExperiment::Run(), ns3::NqosWaveMacHelper::SetType(), ns3::QosWaveMacHelper::SetType(), VanetRoutingExperiment::SetupAdhocDevices(), BatteryLifetimeTest::VariableLoadTest(), WifiMacHelper(), and WifiInterferenceTestCase::WifiSimpleInterference().
|
protected |
MAC object factory.
Definition at line 110 of file wifi-mac-helper.h.