To trace WaveNetDevice, we have to overwrite the trace functions of class YansWifiPhyHelper. More...
#include "wave-helper.h"
Static Public Member Functions | |
static YansWavePhyHelper | Default () |
Create a phy helper in a default working state. More... | |
Private Member Functions | |
void | EnableAsciiInternal (Ptr< OutputStreamWrapper > stream, std::string prefix, Ptr< NetDevice > nd, bool explicitFilename) override |
Enable ascii trace output on the indicated net device. More... | |
void | EnablePcapInternal (std::string prefix, Ptr< NetDevice > nd, bool promiscuous, bool explicitFilename) override |
Enable pcap output the indicated net device. More... | |
Additional Inherited Members | |
![]() | |
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... | |
![]() | |
YansWifiPhyHelper () | |
Create a PHY helper. More... | |
void | SetChannel (Ptr< YansWifiChannel > channel) |
void | SetChannel (std::string channelName) |
![]() | |
WifiPhyHelper (uint8_t nLinks=1) | |
Constructor. More... | |
~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. More... | |
PcapHelper::DataLinkType | GetPcapDataLinkType () const |
Get the data link type of PCAP traces to be used. More... | |
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. More... | |
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. More... | |
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. More... | |
void | SetPcapDataLinkType (SupportedPcapDataLinkTypes dlt) |
Set the data link type of PCAP traces to be used. More... | |
template<typename... Args> | |
void | SetPreambleDetectionModel (std::string type, Args &&... args) |
Helper function used to set the preamble detection model. More... | |
template<typename... Args> | |
void | SetPreambleDetectionModel (uint8_t linkId, std::string type, Args &&... args) |
![]() | |
PcapHelperForDevice () | |
Construct a PcapHelperForDevice. More... | |
virtual | ~PcapHelperForDevice () |
Destroy a PcapHelperForDevice. More... | |
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. More... | |
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. More... | |
void | EnablePcap (std::string prefix, Ptr< NetDevice > nd, bool promiscuous=false, bool explicitFilename=false) |
Enable pcap output the indicated net device. More... | |
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. More... | |
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. More... | |
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. More... | |
virtual void | EnablePcapInternal (std::string prefix, Ptr< NetDevice > nd, bool promiscuous, bool explicitFilename)=0 |
Enable pcap output the indicated net device. More... | |
![]() | |
AsciiTraceHelperForDevice () | |
Construct an AsciiTraceHelperForDevice. More... | |
virtual | ~AsciiTraceHelperForDevice () |
Destroy an AsciiTraceHelperForDevice. More... | |
void | EnableAscii (Ptr< OutputStreamWrapper > stream, NetDeviceContainer d) |
Enable ascii trace output on each device in the container which is of the appropriate type. More... | |
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. More... | |
void | EnableAscii (Ptr< OutputStreamWrapper > stream, Ptr< NetDevice > nd) |
Enable ascii trace output on the indicated net device. More... | |
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. More... | |
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. More... | |
void | EnableAscii (std::string prefix, NetDeviceContainer d) |
Enable ascii trace output on each device in the container which is of the appropriate type. More... | |
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. More... | |
void | EnableAscii (std::string prefix, Ptr< NetDevice > nd, bool explicitFilename=false) |
Enable ascii trace output on the indicated net device. More... | |
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. More... | |
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. More... | |
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. More... | |
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. More... | |
virtual void | EnableAsciiInternal (Ptr< OutputStreamWrapper > stream, std::string prefix, Ptr< NetDevice > nd, bool explicitFilename)=0 |
Enable ascii trace output on the indicated net device. More... | |
![]() | |
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) |
![]() | |
std::vector< ObjectFactory > | m_errorRateModel |
error rate model More... | |
std::vector< ObjectFactory > | m_frameCaptureModel |
frame capture model More... | |
ObjectFactory | m_interferenceHelper |
interference helper More... | |
std::vector< ObjectFactory > | m_phy |
PHY object. More... | |
std::vector< ObjectFactory > | m_preambleDetectionModel |
preamble detection model More... | |
To trace WaveNetDevice, we have to overwrite the trace functions of class YansWifiPhyHelper.
The source code is very similar with YansWifiPhy, only with some adaptation.
Definition at line 41 of file wave-helper.h.
|
static |
Create a phy helper in a default working state.
Definition at line 122 of file wave-helper.cc.
References ns3::WifiPhyHelper::SetErrorRateModel().
|
overrideprivatevirtual |
Enable ascii trace output on the indicated net device.
NetDevice-specific implementation mechanism for hooking the trace and writing to the trace file.
stream | The output stream object to use when logging ascii traces. |
prefix | Filename prefix to use for ascii trace files. |
nd | Net device for which you want to enable tracing. |
explicitFilename | Treat the prefix as an explicit filename if true |
Implements ns3::AsciiTraceHelperForDevice.
Definition at line 181 of file wave-helper.cc.
References ns3::AsciiPhyReceiveSinkWithContext(), ns3::AsciiPhyReceiveSinkWithoutContext(), ns3::AsciiPhyTransmitSinkWithContext(), ns3::AsciiPhyTransmitSinkWithoutContext(), ns3::Config::Connect(), ns3::Config::ConnectWithoutContext(), ns3::AsciiTraceHelper::CreateFileStream(), ns3::Packet::EnablePrinting(), ns3::AsciiTraceHelper::GetFilenameFromDevice(), ns3::MakeBoundCallback(), and NS_LOG_INFO.
|
overrideprivatevirtual |
Enable pcap output the indicated net device.
NetDevice-specific implementation mechanism for hooking the trace and writing to the trace file.
prefix | Filename prefix to use for pcap files. |
nd | Net device for which you want to enable tracing. |
promiscuous | If true capture all possible packets available at the device. |
explicitFilename | Treat the prefix as an explicit filename if true |
Implements ns3::PcapHelperForDevice.
Definition at line 130 of file wave-helper.cc.
References ns3::PcapHelper::CreateFile(), create-module::file, ns3::PcapHelper::GetFilenameFromDevice(), ns3::WifiPhyHelper::GetPcapDataLinkType(), ns3::WaveNetDevice::GetPhys(), ns3::MakeBoundCallback(), NS_ABORT_MSG_IF, NS_LOG_INFO, ns3::WifiPhyHelper::PcapSniffRxEvent(), ns3::WifiPhyHelper::PcapSniffTxEvent(), and third::phy.