A Discrete-Event Network Simulator
API
Loading...
Searching...
No Matches
WifiPhyThresholdsTest Class Reference

Wifi Phy Threshold Test base class. More...

+ Inheritance diagram for WifiPhyThresholdsTest:
+ Collaboration diagram for WifiPhyThresholdsTest:

Public Member Functions

 WifiPhyThresholdsTest (std::string test_name)
 Constructor.
 
- Public Member Functions inherited from ns3::TestCase
 TestCase (const TestCase &)=delete
 
virtual ~TestCase ()
 Destructor.
 
std::string GetName () const
 
TestCaseoperator= (const TestCase &)=delete
 

Protected Member Functions

virtual Ptr< SpectrumSignalParametersMakeForeignSignal (Watt_u txPower)
 Make foreign signal function.
 
virtual Ptr< SpectrumSignalParametersMakeWifiSignal (Watt_u txPower, const WifiPhyOperatingChannel &channel)
 Make wifi signal function.
 
virtual void PhyStateChanged (Time start, Time duration, WifiPhyState newState)
 PHY state changed callback function.
 
void RxDropped (Ptr< const Packet > p, WifiPhyRxfailureReason reason)
 PHY dropped packet callback function.
 
virtual void RxFailure (Ptr< const WifiPsdu > psdu)
 PHY receive failure callback function.
 
virtual void RxSuccess (Ptr< const WifiPsdu > psdu, RxSignalInfo rxSignalInfo, WifiTxVector txVector, std::vector< bool > statusPerMpdu)
 PHY receive success callback function.
 
virtual void SendSignal (Watt_u txPower, bool wifiSignal)
 Send signal function.
 
- Protected Member Functions inherited from ns3::TestCase
 TestCase (std::string name)
 Constructor.
 
void AddTestCase (TestCase *testCase, Duration duration=Duration::QUICK)
 Add an individual child TestCase to this test suite.
 
TestCaseGetParent () const
 Get the parent of this TestCase.
 
bool IsStatusFailure () const
 Check if any tests failed.
 
bool IsStatusSuccess () const
 Check if all tests passed.
 
void SetDataDir (std::string directory)
 Set the data directory where reference trace files can be found.
 
void ReportTestFailure (std::string cond, std::string actual, std::string limit, std::string message, std::string file, int32_t line)
 Log the failure of this TestCase.
 
bool MustAssertOnFailure () const
 Check if this run should assert on failure.
 
bool MustContinueOnFailure () const
 Check if this run should continue on failure.
 
std::string CreateDataDirFilename (std::string filename)
 Construct the full path to a file in the data directory.
 
std::string CreateTempDirFilename (std::string filename)
 Construct the full path to a file in a temporary directory.
 

Protected Attributes

uint32_t m_ccabusyStateCount
 count number of PHY state change to CCA_BUSY state
 
uint32_t m_idleStateCount
 count number of PHY state change to IDLE state
 
Ptr< SpectrumWifiPhym_phy
 PHY object.
 
uint32_t m_rxDropped
 count number of dropped packets
 
uint32_t m_rxFailure
 count number of unsuccessfuly received packets
 
uint32_t m_rxStateCount
 count number of PHY state change to RX state
 
uint32_t m_rxSuccess
 count number of successfully received packets
 
uint32_t m_stateChanged
 count number of PHY state change
 

Private Member Functions

void DoSetup () override
 Implementation to do any local setup required for this TestCase.
 
void DoTeardown () override
 Implementation to do any local setup required for this TestCase.
 

Additional Inherited Members

- Public Types inherited from ns3::TestCase
enum class  Duration { QUICK = 1 , EXTENSIVE = 2 , TAKES_FOREVER = 3 }
 How long the test takes to execute. More...
 
- Static Public Attributes inherited from ns3::TestCase
static constexpr auto QUICK = Duration::QUICK
 Deprecated test duration simple enums.
 
static constexpr auto EXTENSIVE = Duration::EXTENSIVE
 
static constexpr auto TAKES_FOREVER = Duration::TAKES_FOREVER
 

Detailed Description

Wifi Phy Threshold Test base class.

Definition at line 41 of file wifi-phy-thresholds-test.cc.

Constructor & Destructor Documentation

◆ WifiPhyThresholdsTest()

WifiPhyThresholdsTest::WifiPhyThresholdsTest ( std::string test_name)

Constructor.

Parameters
test_namethe test name

Definition at line 116 of file wifi-phy-thresholds-test.cc.

Member Function Documentation

◆ DoSetup()

void WifiPhyThresholdsTest::DoSetup ( )
overrideprivatevirtual

Implementation to do any local setup required for this TestCase.

Subclasses should override this method to perform any costly per-test setup before DoRun is invoked.

Reimplemented from ns3::TestCase.

Definition at line 238 of file wifi-phy-thresholds-test.cc.

References CHANNEL_NUMBER, ns3::CreateObject(), m_phy, ns3::MakeCallback(), PhyStateChanged(), RxDropped(), RxFailure(), RxSuccess(), ns3::WIFI_PHY_BAND_5GHZ, and ns3::WIFI_STANDARD_80211ax.

+ Here is the call graph for this function:

◆ DoTeardown()

void WifiPhyThresholdsTest::DoTeardown ( )
overrideprivatevirtual

Implementation to do any local setup required for this TestCase.

Subclasses should override this method to perform any costly per-test teardown

Reimplemented from ns3::TestCase.

Definition at line 264 of file wifi-phy-thresholds-test.cc.

References m_phy.

◆ MakeForeignSignal()

Ptr< SpectrumSignalParameters > WifiPhyThresholdsTest::MakeForeignSignal ( Watt_u txPower)
protectedvirtual

Make foreign signal function.

Parameters
txPowerthe transmit power
Returns
Ptr<SpectrumSignalParameters>

Definition at line 167 of file wifi-phy-thresholds-test.cc.

References CHANNEL_WIDTH, ns3::Create(), ns3::WifiSpectrumValueHelper::CreateHeOfdmTxPowerSpectralDensity(), FREQUENCY, and ns3::Seconds().

Referenced by SendSignal().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ MakeWifiSignal()

Ptr< SpectrumSignalParameters > WifiPhyThresholdsTest::MakeWifiSignal ( Watt_u txPower,
const WifiPhyOperatingChannel & channel )
protectedvirtual

Make wifi signal function.

Parameters
txPowerthe transmit power
channelthe operating channel of the PHY used for the transmission
Returns
Ptr<SpectrumSignalParameters>

Definition at line 129 of file wifi-phy-thresholds-test.cc.

References CHANNEL_WIDTH, ns3::Create(), ns3::WifiSpectrumValueHelper::CreateHeOfdmTxPowerSpectralDensity(), ns3::OfdmPhy::GetOfdmRate6Mbps(), m_phy, ns3::NanoSeconds(), ns3::WifiMacHeader::SetQosTid(), ns3::WifiMacHeader::SetType(), ns3::WIFI_MAC_QOSDATA, and ns3::WIFI_PREAMBLE_LONG.

Referenced by SendSignal().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ PhyStateChanged()

void WifiPhyThresholdsTest::PhyStateChanged ( Time start,
Time duration,
WifiPhyState newState )
protectedvirtual

PHY state changed callback function.

Parameters
startthe start time of the new state
durationthe duration of the new state
newStatethe new state

Definition at line 219 of file wifi-phy-thresholds-test.cc.

References m_ccabusyStateCount, m_idleStateCount, m_rxStateCount, m_stateChanged, and NS_LOG_FUNCTION.

Referenced by DoSetup().

+ Here is the caller graph for this function:

◆ RxDropped()

void WifiPhyThresholdsTest::RxDropped ( Ptr< const Packet > p,
WifiPhyRxfailureReason reason )
protected

PHY dropped packet callback function.

Parameters
pthe packet
reasonthe reason

Definition at line 212 of file wifi-phy-thresholds-test.cc.

References m_rxDropped, and NS_LOG_FUNCTION.

Referenced by DoSetup().

+ Here is the caller graph for this function:

◆ RxFailure()

void WifiPhyThresholdsTest::RxFailure ( Ptr< const WifiPsdu > psdu)
protectedvirtual

PHY receive failure callback function.

Parameters
psduthe PSDU

Definition at line 205 of file wifi-phy-thresholds-test.cc.

References m_rxFailure, and NS_LOG_FUNCTION.

Referenced by DoSetup().

+ Here is the caller graph for this function:

◆ RxSuccess()

void WifiPhyThresholdsTest::RxSuccess ( Ptr< const WifiPsdu > psdu,
RxSignalInfo rxSignalInfo,
WifiTxVector txVector,
std::vector< bool > statusPerMpdu )
protectedvirtual

PHY receive success callback function.

Parameters
psduthe PSDU
rxSignalInfothe info on the received signal (
See also
RxSignalInfo)
Parameters
txVectorthe transmit vector
statusPerMpdureception status per MPDU

Definition at line 195 of file wifi-phy-thresholds-test.cc.

References m_rxSuccess, and NS_LOG_FUNCTION.

Referenced by DoSetup().

+ Here is the caller graph for this function:

◆ SendSignal()

void WifiPhyThresholdsTest::SendSignal ( Watt_u txPower,
bool wifiSignal )
protectedvirtual

Send signal function.

Parameters
txPowerthe transmit power
wifiSignalwhether the signal is a wifi signal or not

Definition at line 182 of file wifi-phy-thresholds-test.cc.

References m_phy, MakeForeignSignal(), and MakeWifiSignal().

Referenced by WifiPhyThresholdsStrongForeignSignalTest::DoRun(), WifiPhyThresholdsStrongWifiSignalTest::DoRun(), WifiPhyThresholdsWeakForeignSignalTest::DoRun(), and WifiPhyThresholdsWeakWifiSignalTest::DoRun().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

Member Data Documentation

◆ m_ccabusyStateCount

uint32_t WifiPhyThresholdsTest::m_ccabusyStateCount
protected

count number of PHY state change to CCA_BUSY state

Definition at line 109 of file wifi-phy-thresholds-test.cc.

Referenced by WifiPhyThresholdsStrongWifiSignalTest::DoRun(), and PhyStateChanged().

◆ m_idleStateCount

uint32_t WifiPhyThresholdsTest::m_idleStateCount
protected

count number of PHY state change to IDLE state

Definition at line 108 of file wifi-phy-thresholds-test.cc.

Referenced by WifiPhyThresholdsStrongForeignSignalTest::DoRun(), WifiPhyThresholdsStrongWifiSignalTest::DoRun(), and PhyStateChanged().

◆ m_phy

Ptr<SpectrumWifiPhy> WifiPhyThresholdsTest::m_phy
protected

PHY object.

Definition at line 102 of file wifi-phy-thresholds-test.cc.

Referenced by DoSetup(), DoTeardown(), MakeWifiSignal(), and SendSignal().

◆ m_rxDropped

◆ m_rxFailure

◆ m_rxStateCount

uint32_t WifiPhyThresholdsTest::m_rxStateCount
protected

count number of PHY state change to RX state

Definition at line 107 of file wifi-phy-thresholds-test.cc.

Referenced by WifiPhyThresholdsStrongWifiSignalTest::DoRun(), and PhyStateChanged().

◆ m_rxSuccess

◆ m_stateChanged

uint32_t WifiPhyThresholdsTest::m_stateChanged
protected

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