Make it easy to create and manage PHY objects for the YANS model. More...
#include "yans-wifi-helper.h"
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().
|
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.
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(), experiment(), RoutingExperiment::Run(), and BatteryLifetimeTest::VariableLoadTest().
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.
|
private |
YANS wifi channel.
Definition at line 139 of file yans-wifi-helper.h.
Referenced by Create(), SetChannel(), and SetChannel().