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.
 
 ~WifiPhyThresholdsTest () override
 Destructor.
 
- 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 (double txPowerWatts)
 Make foreign signal function.
 
virtual Ptr< SpectrumSignalParametersMakeWifiSignal (double txPowerWatts, 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 (double txPowerWatts, 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...
 
using instead = Duration
 
- Static Public Attributes inherited from ns3::TestCase
static constexpr auto EXTENSIVE = Duration::EXTENSIVE
 
static constexpr auto QUICK = Duration::QUICK
 
static constexpr auto TAKES_FOREVER
 

Detailed Description

Wifi Phy Threshold Test base class.

Definition at line 52 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 131 of file wifi-phy-thresholds-test.cc.

◆ ~WifiPhyThresholdsTest()

WifiPhyThresholdsTest::~WifiPhyThresholdsTest ( )
override

Destructor.

Definition at line 143 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 257 of file wifi-phy-thresholds-test.cc.

References ns3::SpectrumWifiPhy::AddChannel(), CHANNEL_NUMBER, ns3::WifiPhy::ConfigureStandard(), ns3::WifiPhy::GetState(), m_phy, ns3::MakeCallback(), PhyStateChanged(), RxDropped(), RxFailure(), RxSuccess(), ns3::SpectrumWifiPhy::SetDevice(), ns3::WifiPhy::SetErrorRateModel(), ns3::WifiPhy::SetInterferenceHelper(), ns3::WifiPhy::SetOperatingChannel(), ns3::WifiPhy::SetReceiveErrorCallback(), ns3::WifiPhy::SetReceiveOkCallback(), ns3::ObjectBase::TraceConnectWithoutContext(), 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 283 of file wifi-phy-thresholds-test.cc.

References ns3::Object::Dispose(), and m_phy.

+ Here is the call graph for this function:

◆ MakeForeignSignal()

Ptr< SpectrumSignalParameters > WifiPhyThresholdsTest::MakeForeignSignal ( double  txPowerWatts)
protectedvirtual

Make foreign signal function.

Parameters
txPowerWattsthe transmit power in watts
Returns
Ptr<SpectrumSignalParameters>

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

References CHANNEL_WIDTH, 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 ( double  txPowerWatts,
const WifiPhyOperatingChannel channel 
)
protectedvirtual

Make wifi signal function.

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

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

References ns3::WifiPhy::CalculateTxDuration(), CHANNEL_WIDTH, ns3::WifiSpectrumValueHelper::CreateHeOfdmTxPowerSpectralDensity(), ns3::OfdmPhy::GetOfdmRate6Mbps(), ns3::WifiPhy::GetPhyBand(), m_phy, 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 238 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 231 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 224 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 214 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 ( double  txPowerWatts,
bool  wifiSignal 
)
protectedvirtual

Send signal function.

Parameters
txPowerWattsthe transmit power in watts
wifiSignalwhether the signal is a wifi signal or not

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

References ns3::WifiPhy::GetOperatingChannel(), m_phy, MakeForeignSignal(), MakeWifiSignal(), and ns3::SpectrumWifiPhy::StartRx().

Referenced by WifiPhyThresholdsWeakWifiSignalTest::DoRun(), WifiPhyThresholdsWeakForeignSignalTest::DoRun(), WifiPhyThresholdsStrongWifiSignalTest::DoRun(), and WifiPhyThresholdsStrongForeignSignalTest::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 124 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 123 of file wifi-phy-thresholds-test.cc.

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

◆ m_phy

Ptr<SpectrumWifiPhy> WifiPhyThresholdsTest::m_phy
protected

PHY object.

Definition at line 117 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 122 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: