A Discrete-Event Network Simulator
API
Loading...
Searching...
No Matches
ns3::YansWifiPhyHelper Class Reference

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
 
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< YansWifiChannelm_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< ObjectFactorym_errorRateModel
 error rate model
 
std::vector< ObjectFactorym_frameCaptureModel
 frame capture model
 
ObjectFactory m_interferenceHelper
 interference helper
 
std::vector< ObjectFactorym_phys
 PHY objects.
 
std::vector< ObjectFactorym_preambleDetectionModel
 preamble detection model
 

Detailed Description

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.

Constructor & Destructor Documentation

◆ YansWifiPhyHelper()

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:

Member Function Documentation

◆ Create()

std::vector< Ptr< WifiPhy > > ns3::YansWifiPhyHelper::Create ( Ptr< Node > node,
Ptr< WifiNetDevice > device ) const
overrideprivatevirtual
Parameters
nodethe node on which we wish to create a wifi PHY
devicethe device within which this PHY will be created
Returns
newly-created PHY objects.

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:

◆ SetChannel() [1/2]

◆ SetChannel() [2/2]

void ns3::YansWifiPhyHelper::SetChannel ( std::string channelName)
Parameters
channelNameThe 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:

Member Data Documentation

◆ m_channel

Ptr<YansWifiChannel> ns3::YansWifiPhyHelper::m_channel
private

YANS wifi channel.

Definition at line 139 of file yans-wifi-helper.h.

Referenced by Create(), SetChannel(), and SetChannel().


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