Make it easy to create and manage PHY objects for the YANS model. More...
#include "yans-wifi-helper.h"
 Inheritance 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 | |
| virtual std::vector< Ptr< WifiPhy > > | Create (Ptr< Node > node, Ptr< WifiNetDevice > device) const =0 | 
| void | DisablePreambleDetectionModel () | 
| Disable the preamble detection model on all links.   | |
| 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 | 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.   | |
| virtual void | EnablePcapInternal (std::string prefix, Ptr< NetDevice > nd, bool promiscuous, bool explicitFilename)=0 | 
| Enable pcap output the indicated net device.   | |
  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.   | |
| virtual void | EnableAsciiInternal (Ptr< OutputStreamWrapper > stream, std::string prefix, Ptr< NetDevice > nd, bool explicitFilename)=0 | 
| Enable ascii trace output on the indicated net device.   | |
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 | 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 (Ptr< PcapFileWrapper > file, Ptr< const Packet > packet, uint16_t channelFreqMhz, WifiTxVector txVector, MpduInfo aMpdu, SignalNoiseDbm signalNoise, uint16_t staId=SU_STA_ID) | 
| static void | PcapSniffTxEvent (Ptr< PcapFileWrapper > file, 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_phy | 
| PHY object.   | |
| 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 119 of file yans-wifi-helper.h.
| ns3::YansWifiPhyHelper::YansWifiPhyHelper | ( | ) | 
Create a PHY helper.
Definition at line 83 of file yans-wifi-helper.cc.
References ns3::WifiPhyHelper::m_phy, ns3::WifiPhyHelper::SetErrorRateModel(), and ns3::WifiPhyHelper::SetInterferenceHelper().
 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 106 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_phy, and ns3::WifiPhyHelper::m_preambleDetectionModel.
 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 93 of file yans-wifi-helper.cc.
References m_channel.
Referenced by BatteryLifetimeTest::ConstantLoadTest(), AodvExample::CreateDevices(), ChainRegressionTest::CreateDevices(), Bug772ChainTest::CreateDevices(), TracerouteExample::CreateDevices(), HwmpProactiveRegressionTest::CreateDevices(), HwmpReactiveRegressionTest::CreateDevices(), HwmpSimplestRegressionTest::CreateDevices(), HwmpDoRfRegressionTest::CreateDevices(), PeerManagementProtocolRegressionTest::CreateDevices(), FlameRegressionTest::CreateDevices(), DsdvManetExample::CreateDevices(), MeshTest::CreateNodes(), BasicEnergyDepletionTest::DepletionTestCase(), ns3::aodv::LoopbackTestCase::DoRun(), WifiAcMappingTest::DoRun(), WifiMsduAggregatorThroughputTest::DoRun(), experiment(), RoutingExperiment::Run(), and BatteryLifetimeTest::VariableLoadTest().
 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 99 of file yans-wifi-helper.cc.
References m_channel.
      
  | 
  private | 
YANS wifi channel.
Definition at line 150 of file yans-wifi-helper.h.
Referenced by Create(), and SetChannel().