Make it easy to create and manage PHY objects for the YANS model. More...
#include "yans-wifi-helper.h"
 Inheritance diagram for ns3::YansWifiPhyHelper:
 Inheritance diagram for ns3::YansWifiPhyHelper: Collaboration diagram for ns3::YansWifiPhyHelper:
 Collaboration diagram for ns3::YansWifiPhyHelper:| Public Member Functions | |
| YansWifiPhyHelper () | |
| Create a PHY helper. | |
| void | SetChannel (Ptr< YansWifiChannel > channel) | 
| void | SetChannel (std::string channelName) | 
|  Public Member Functions inherited from ns3::WifiPhyHelper | |
| WifiPhyHelper (uint8_t nLinks=1) | |
| Constructor. | |
| ~WifiPhyHelper () override | |
| void | DisablePreambleDetectionModel () | 
| Disable the preamble detection model on all links. | |
| PcapCaptureType | GetPcapCaptureType () const | 
| Get the PCAP capture type to be used. | |
| PcapHelper::DataLinkType | GetPcapDataLinkType () const | 
| Get the data link type of PCAP traces to be used. | |
| void | Set (std::string name, const AttributeValue &v) | 
| void | Set (uint8_t linkId, std::string name, const AttributeValue &v) | 
| template<typename... Args> | |
| void | SetErrorRateModel (std::string type, Args &&... args) | 
| Helper function used to set the error rate model. | |
| template<typename... Args> | |
| void | SetErrorRateModel (uint8_t linkId, std::string type, Args &&... args) | 
| template<typename... Args> | |
| void | SetFrameCaptureModel (std::string type, Args &&... args) | 
| Helper function used to set the frame capture model. | |
| template<typename... Args> | |
| void | SetFrameCaptureModel (uint8_t linkId, std::string type, Args &&... args) | 
| template<typename... Args> | |
| void | SetInterferenceHelper (std::string type, Args &&... args) | 
| Helper function used to set the interference helper. | |
| void | SetPcapCaptureType (PcapCaptureType type) | 
| Set the PCAP capture type to be used. | |
| void | SetPcapDataLinkType (SupportedPcapDataLinkTypes dlt) | 
| Set the data link type of PCAP traces to be used. | |
| template<typename... Args> | |
| void | SetPreambleDetectionModel (std::string type, Args &&... args) | 
| Helper function used to set the preamble detection model. | |
| template<typename... Args> | |
| void | SetPreambleDetectionModel (uint8_t linkId, std::string type, Args &&... args) | 
|  Public Member Functions inherited from ns3::PcapHelperForDevice | |
| PcapHelperForDevice () | |
| Construct a PcapHelperForDevice. | |
| virtual | ~PcapHelperForDevice () | 
| Destroy a PcapHelperForDevice. | |
| void | EnablePcap (std::string prefix, NetDeviceContainer d, bool promiscuous=false) | 
| Enable pcap output on each device in the container which is of the appropriate type. | |
| void | EnablePcap (std::string prefix, NodeContainer n, bool promiscuous=false) | 
| Enable pcap output on each device (which is of the appropriate type) in the nodes provided in the container. | |
| void | EnablePcap (std::string prefix, Ptr< NetDevice > nd, bool promiscuous=false, bool explicitFilename=false) | 
| Enable pcap output the indicated net device. | |
| void | EnablePcap (std::string prefix, std::string ndName, bool promiscuous=false, bool explicitFilename=false) | 
| Enable pcap output the indicated net device using a device previously named using the ns-3 object name service. | |
| void | EnablePcap (std::string prefix, uint32_t nodeid, uint32_t deviceid, bool promiscuous=false) | 
| Enable pcap output on the device specified by a global node-id (of a previously created node) and associated device-id. | |
| void | EnablePcapAll (std::string prefix, bool promiscuous=false) | 
| Enable pcap output on each device (which is of the appropriate type) in the set of all nodes created in the simulation. | |
|  Public Member Functions inherited from ns3::AsciiTraceHelperForDevice | |
| AsciiTraceHelperForDevice () | |
| Construct an AsciiTraceHelperForDevice. | |
| virtual | ~AsciiTraceHelperForDevice () | 
| Destroy an AsciiTraceHelperForDevice. | |
| void | EnableAscii (Ptr< OutputStreamWrapper > stream, NetDeviceContainer d) | 
| Enable ascii trace output on each device in the container which is of the appropriate type. | |
| void | EnableAscii (Ptr< OutputStreamWrapper > stream, NodeContainer n) | 
| Enable ascii trace output on each device (which is of the appropriate type) in the nodes provided in the container. | |
| void | EnableAscii (Ptr< OutputStreamWrapper > stream, Ptr< NetDevice > nd) | 
| Enable ascii trace output on the indicated net device. | |
| void | EnableAscii (Ptr< OutputStreamWrapper > stream, std::string ndName) | 
| Enable ascii trace output the indicated net device using a device previously named using the ns-3 object name service. | |
| void | EnableAscii (Ptr< OutputStreamWrapper > stream, uint32_t nodeid, uint32_t deviceid) | 
| Enable ascii trace output on the device specified by a global node-id (of a previously created node) and associated device-id. | |
| void | EnableAscii (std::string prefix, NetDeviceContainer d) | 
| Enable ascii trace output on each device in the container which is of the appropriate type. | |
| void | EnableAscii (std::string prefix, NodeContainer n) | 
| Enable ascii trace output on each device (which is of the appropriate type) in the nodes provided in the container. | |
| void | EnableAscii (std::string prefix, Ptr< NetDevice > nd, bool explicitFilename=false) | 
| Enable ascii trace output on the indicated net device. | |
| void | EnableAscii (std::string prefix, std::string ndName, bool explicitFilename=false) | 
| Enable ascii trace output the indicated net device using a device previously named using the ns-3 object name service. | |
| void | EnableAscii (std::string prefix, uint32_t nodeid, uint32_t deviceid, bool explicitFilename) | 
| Enable ascii trace output on the device specified by a global node-id (of a previously created node) and associated device-id. | |
| void | EnableAsciiAll (Ptr< OutputStreamWrapper > stream) | 
| Enable ascii trace output on each device (which is of the appropriate type) in the set of all nodes created in the simulation. | |
| void | EnableAsciiAll (std::string prefix) | 
| Enable ascii trace output on each device (which is of the appropriate type) in the set of all nodes created in the simulation. | |
| Private Member Functions | |
| std::vector< Ptr< WifiPhy > > | Create (Ptr< Node > node, Ptr< WifiNetDevice > device) const override | 
| Private Attributes | |
| Ptr< YansWifiChannel > | m_channel | 
| YANS wifi channel. | |
| Additional Inherited Members | |
|  Public Types inherited from ns3::WifiPhyHelper | |
| enum class | PcapCaptureType { PCAP_PER_DEVICE , PCAP_PER_PHY , PCAP_PER_LINK } | 
| An enumeration of the PCAP capture types.  More... | |
| enum | SupportedPcapDataLinkTypes { DLT_IEEE802_11 , DLT_PRISM_HEADER , DLT_IEEE802_11_RADIO } | 
| An enumeration of the pcap data link types (DLTs) which this helper supports.  More... | |
|  Static Protected Member Functions inherited from ns3::WifiPhyHelper | |
| static void | PcapSniffRxEvent (const std::shared_ptr< PcapFilesInfo > &info, uint8_t phyId, Ptr< const Packet > packet, uint16_t channelFreqMhz, WifiTxVector txVector, MpduInfo aMpdu, SignalNoiseDbm signalNoise, uint16_t staId=SU_STA_ID) | 
| static void | PcapSniffTxEvent (const std::shared_ptr< PcapFilesInfo > &info, uint8_t phyId, Ptr< const Packet > packet, uint16_t channelFreqMhz, WifiTxVector txVector, MpduInfo aMpdu, uint16_t staId=SU_STA_ID) | 
|  Protected Attributes inherited from ns3::WifiPhyHelper | |
| std::vector< ObjectFactory > | m_errorRateModel | 
| error rate model | |
| std::vector< ObjectFactory > | m_frameCaptureModel | 
| frame capture model | |
| ObjectFactory | m_interferenceHelper | 
| interference helper | |
| std::vector< ObjectFactory > | m_phys | 
| PHY objects. | |
| std::vector< ObjectFactory > | m_preambleDetectionModel | 
| preamble detection model | |
Make it easy to create and manage PHY objects for the YANS model.
The YANS PHY model is described in "Yet Another Network Simulator", published in WNS2 2006; an author-prepared version of this paper is at: https://hal.inria.fr/file/index/docid/78318/filename/yans-rr.pdf
The Pcap and ASCII traces generated by the EnableAscii and EnablePcap methods defined in this class correspond to PHY-level traces and come to us via WifiPhyHelper
Definition at line 108 of file yans-wifi-helper.h.
| ns3::YansWifiPhyHelper::YansWifiPhyHelper | ( | ) | 
Create a PHY helper.
Definition at line 70 of file yans-wifi-helper.cc.
References ns3::WifiPhyHelper::m_phys, ns3::WifiPhyHelper::SetErrorRateModel(), and ns3::WifiPhyHelper::SetInterferenceHelper().
 Here is the call graph for this function:
 Here is the call graph for this function:| 
 | overrideprivatevirtual | 
| node | the node on which we wish to create a wifi PHY | 
| device | the device within which this PHY will be created | 
This method implements the pure virtual method defined in ns3::WifiPhyHelper.
Implements ns3::WifiPhyHelper.
Definition at line 93 of file yans-wifi-helper.cc.
References ns3::ObjectFactory::Create(), m_channel, ns3::WifiPhyHelper::m_errorRateModel, ns3::WifiPhyHelper::m_frameCaptureModel, ns3::WifiPhyHelper::m_interferenceHelper, ns3::WifiPhyHelper::m_phys, and ns3::WifiPhyHelper::m_preambleDetectionModel.
 Here is the call graph for this function:
 Here is the call graph for this function:| void ns3::YansWifiPhyHelper::SetChannel | ( | Ptr< YansWifiChannel > | channel | ) | 
| channel | the channel to associate to this helper | 
Every PHY created by a call to Install is associated to this channel.
Definition at line 80 of file yans-wifi-helper.cc.
References m_channel.
Referenced by BatteryLifetimeTest::ConstantLoadTest(), AodvExample::CreateDevices(), Bug772ChainTest::CreateDevices(), ChainRegressionTest::CreateDevices(), DsdvManetExample::CreateDevices(), FlameRegressionTest::CreateDevices(), HwmpDoRfRegressionTest::CreateDevices(), HwmpProactiveRegressionTest::CreateDevices(), HwmpReactiveRegressionTest::CreateDevices(), HwmpSimplestRegressionTest::CreateDevices(), PeerManagementProtocolRegressionTest::CreateDevices(), TracerouteExample::CreateDevices(), MeshTest::CreateNodes(), BasicEnergyDepletionTest::DepletionTestCase(), ns3::aodv::LoopbackTestCase::DoRun(), WifiAcMappingTest::DoRun(), WifiMsduAggregatorThroughputTest::DoRun(), GcrTestBase::DoSetup(), experiment(), RoutingExperiment::Run(), and BatteryLifetimeTest::VariableLoadTest().
 Here is the caller graph for this function:
 Here is the caller graph for this function:| void ns3::YansWifiPhyHelper::SetChannel | ( | std::string | channelName | ) | 
| channelName | The name of the channel to associate to this helper | 
Every PHY created by a call to Install is associated to this channel.
Definition at line 86 of file yans-wifi-helper.cc.
References ns3::Names::Find(), and m_channel.
 Here is the call graph for this function:
 Here is the call graph for this function:| 
 | private | 
YANS wifi channel.
Definition at line 139 of file yans-wifi-helper.h.
Referenced by Create(), SetChannel(), and SetChannel().