Wifi Phy Threshold Test base class. More...
 Inheritance diagram for WifiPhyCcaIndicationTest:
 Inheritance diagram for WifiPhyCcaIndicationTest: Collaboration diagram for WifiPhyCcaIndicationTest:
 Collaboration diagram for WifiPhyCcaIndicationTest:| Classes | |
| struct | CcaCheckPoint | 
| structure that holds information to perform CCA check  More... | |
| struct | StateCheckPoint | 
| structure that holds information to perform PHY state check  More... | |
| struct | TxPpduInfo | 
| structure that holds information to generate PPDUs  More... | |
| struct | TxSignalInfo | 
| structure that holds information to generate signals  More... | |
| Public Member Functions | |
| WifiPhyCcaIndicationTest () | |
|  Public Member Functions inherited from ns3::TestCase | |
| TestCase (const TestCase &)=delete | |
| virtual | ~TestCase () | 
| Destructor. | |
| std::string | GetName () const | 
| TestCase & | operator= (const TestCase &)=delete | 
| Private Member Functions | |
| void | CheckLastCcaBusyNotification (Time expectedEndTime, WifiChannelListType expectedChannelType, const std::vector< Time > &expectedPer20MhzDurations) | 
| Check the last CCA-BUSY notification. | |
| void | CheckPhyState (WifiPhyState expectedState) | 
| Check the PHY state. | |
| void | DoCheckPhyState (WifiPhyState expectedState) | 
| Check the PHY state. | |
| void | DoRun () override | 
| Implementation to actually run this TestCase. | |
| 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. | |
| void | LogScenario (const std::string &log) const | 
| Log scenario description. | |
| void | Reset () | 
| Reset function. | |
| void | RunOne () | 
| Run one function. | |
| void | ScheduleTest (Time delay, const std::vector< TxSignalInfo > &generatedSignals, const std::vector< TxPpduInfo > &generatedPpdus, const std::vector< StateCheckPoint > &stateCheckpoints, const std::vector< CcaCheckPoint > &ccaCheckpoints) | 
| Schedule test to perform. | |
| void | SendHeSuPpdu (dBm_u txPower, MHz_u frequency, MHz_u bandwidth) | 
| Send an HE SU PPDU. | |
| void | StartSignal (Ptr< WaveformGenerator > signalGenerator, dBm_u txPower, MHz_u frequency, MHz_u bandwidth, Time duration) | 
| Start to generate a signal. | |
| void | StopSignal (Ptr< WaveformGenerator > signalGenerator) | 
| Stop to generate a signal. | |
| Private Attributes | |
| MHz_u | m_channelWidth | 
| Operating channel width. | |
| MHz_u | m_frequency | 
| Operating frequency. | |
| std::size_t | m_numSignalGenerators | 
| The number of non-wifi signals generators needed for the test. | |
| Ptr< SpectrumWifiPhy > | m_rxPhy | 
| PHY object of the receiver. | |
| std::shared_ptr< CcaTestPhyListener > | m_rxPhyStateListener | 
| Listener for PHY state transitions. | |
| std::vector< Ptr< WaveformGenerator > > | m_signalGenerators | 
| Generators of non-wifi signals. | |
| Ptr< SpectrumWifiPhy > | m_txPhy | 
| PHY object of the transmitter. | |
| 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 | 
|  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. | |
| TestCase * | GetParent () 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. | |
Wifi Phy Threshold Test base class.
Definition at line 696 of file wifi-phy-cca-test.cc.
| WifiPhyCcaIndicationTest::WifiPhyCcaIndicationTest | ( | ) | 
Definition at line 840 of file wifi-phy-cca-test.cc.
| 
 | private | 
Check the last CCA-BUSY notification.
| expectedEndTime | the expected CCA-BUSY end time | 
| expectedChannelType | the expected channel type | 
| expectedPer20MhzDurations | the expected per-20 MHz CCA-BUSY durations | 
Definition at line 940 of file wifi-phy-cca-test.cc.
References CcaTestPhyListener::m_endCcaBusy, CcaTestPhyListener::m_lastCcaBusyChannelType, CcaTestPhyListener::m_lastPer20MhzCcaBusyDurations, m_rxPhyStateListener, ns3::Simulator::Now(), and NS_TEST_ASSERT_MSG_EQ.
Referenced by ScheduleTest().
 Here is the call graph for this function:
 Here is the call graph for this function: Here is the caller graph for this function:
 Here is the caller graph for this function:| 
 | private | 
Check the PHY state.
| expectedState | the expected state of the PHY | 
Definition at line 918 of file wifi-phy-cca-test.cc.
References DoCheckPhyState(), and ns3::Simulator::ScheduleNow().
Referenced by ScheduleTest().
 Here is the call graph for this function:
 Here is the call graph for this function: Here is the caller graph for this function:
 Here is the caller graph for this function:| 
 | private | 
Check the PHY state.
| expectedState | the expected state of the PHY | 
Definition at line 926 of file wifi-phy-cca-test.cc.
References ns3::DynamicCast(), ns3::PointerValue::Get(), m_rxPhy, ns3::Simulator::Now(), and NS_TEST_ASSERT_MSG_EQ.
Referenced by CheckPhyState().
 Here is the call graph for this function:
 Here is the call graph for this function: Here is the caller graph for this function:
 Here is the caller graph for this function:| 
 | overrideprivatevirtual | 
Implementation to actually run this TestCase.
Subclasses should override this method to conduct their tests.
Implements ns3::TestCase.
Definition at line 3038 of file wifi-phy-cca-test.cc.
References ns3::Simulator::Destroy(), m_channelWidth, m_frequency, and RunOne().
 Here is the call graph for this function:
 Here is the call graph for this function:| 
 | 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 1033 of file wifi-phy-cca-test.cc.
References ns3::CreateObject(), m_numSignalGenerators, m_rxPhy, m_rxPhyStateListener, m_signalGenerators, m_txPhy, ns3::Seconds(), and ns3::WIFI_STANDARD_80211ax.
 Here is the call graph for this function:
 Here is the call graph for this function:| 
 | 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 3060 of file wifi-phy-cca-test.cc.
References m_rxPhy, m_signalGenerators, and m_txPhy.
| 
 | private | 
Log scenario description.
| log | the scenario description to add to log | 
Definition at line 970 of file wifi-phy-cca-test.cc.
References NS_LOG_INFO.
Referenced by RunOne().
 Here is the caller graph for this function:
 Here is the caller graph for this function:| 
 | private | 
Reset function.
Definition at line 1027 of file wifi-phy-cca-test.cc.
References m_rxPhyStateListener, and CcaTestPhyListener::Reset().
Referenced by RunOne(), and ScheduleTest().
 Here is the call graph for this function:
 Here is the call graph for this function: Here is the caller graph for this function:
 Here is the caller graph for this function:| 
 | private | 
Run one function.
Definition at line 1090 of file wifi-phy-cca-test.cc.
References aCcaTime, ns3::WifiPhyOperatingChannel::FindFirst(), LogScenario(), m_channelWidth, m_frequency, m_rxPhy, m_txPhy, ns3::MicroSeconds(), ns3::NanoSeconds(), P20_CENTER_FREQUENCY, P40_CENTER_FREQUENCY, P80_CENTER_FREQUENCY, PpduDurations, Reset(), S20_CENTER_FREQUENCY, S40_CENTER_FREQUENCY, ns3::Simulator::Schedule(), ScheduleTest(), ns3::Seconds(), ns3::RngSeedManager::SetRun(), ns3::RngSeedManager::SetSeed(), smallDelta, ns3::WIFI_CHANLIST_PRIMARY, ns3::WIFI_CHANLIST_SECONDARY, ns3::WIFI_CHANLIST_SECONDARY40, ns3::WIFI_PHY_BAND_5GHZ, and ns3::WIFI_STANDARD_80211ax.
Referenced by DoRun().
 Here is the call graph for this function:
 Here is the call graph for this function: Here is the caller graph for this function:
 Here is the caller graph for this function:| 
 | private | 
Schedule test to perform.
| delay | the reference delay to schedule the events | 
| generatedSignals | the vector of signals to be generated | 
| generatedPpdus | the vector of PPDUs to be generated | 
| stateCheckpoints | the vector of PHY state checks | 
| ccaCheckpoints | the vector of PHY CCA checks | 
Definition at line 976 of file wifi-phy-cca-test.cc.
References CheckLastCcaBusyNotification(), CheckPhyState(), m_signalGenerators, ns3::Simulator::Now(), Reset(), ns3::Simulator::Schedule(), ns3::Seconds(), SendHeSuPpdu(), and StartSignal().
Referenced by RunOne().
 Here is the call graph for this function:
 Here is the call graph for this function: Here is the caller graph for this function:
 Here is the caller graph for this function:| 
 | private | 
Send an HE SU PPDU.
| txPower | the transmit power | 
| frequency | the center frequency the transmitter is operating on | 
| bandwidth | the bandwidth to use for the transmission | 
Definition at line 882 of file wifi-phy-cca-test.cc.
References ns3::Create(), ns3::WifiPhyOperatingChannel::FindFirst(), ns3::HePhy::GetHeMcs0(), m_txPhy, ns3::NanoSeconds(), NS_LOG_FUNCTION, ns3::WifiMacHeader::SetQosTid(), ns3::WifiMacHeader::SetType(), ns3::WIFI_MAC_QOSDATA, ns3::WIFI_PHY_BAND_5GHZ, ns3::WIFI_PREAMBLE_HE_SU, and ns3::WIFI_STANDARD_80211ax.
Referenced by ScheduleTest().
 Here is the call graph for this function:
 Here is the call graph for this function: Here is the caller graph for this function:
 Here is the caller graph for this function:| 
 | private | 
Start to generate a signal.
| signalGenerator | the signal generator to use | 
| txPower | the transmit power | 
| frequency | the center frequency of the signal to send | 
| bandwidth | the bandwidth of the signal to send | 
| duration | the duration of the signal | 
Definition at line 849 of file wifi-phy-cca-test.cc.
References ns3::Create(), ns3::DbmToW(), ns3::BandInfo::fc, ns3::BandInfo::fh, ns3::BandInfo::fl, ns3::MHzToHz(), NS_LOG_FUNCTION, ns3::Simulator::Schedule(), and StopSignal().
Referenced by ScheduleTest().
 Here is the call graph for this function:
 Here is the call graph for this function: Here is the caller graph for this function:
 Here is the caller graph for this function:| 
 | private | 
Stop to generate a signal.
| signalGenerator | the signal generator to use | 
Definition at line 875 of file wifi-phy-cca-test.cc.
References NS_LOG_FUNCTION.
Referenced by StartSignal().
 Here is the caller graph for this function:
 Here is the caller graph for this function:| 
 | private | 
Operating channel width.
Definition at line 837 of file wifi-phy-cca-test.cc.
| 
 | private | 
Operating frequency.
Definition at line 836 of file wifi-phy-cca-test.cc.
| 
 | private | 
The number of non-wifi signals generators needed for the test.
Definition at line 831 of file wifi-phy-cca-test.cc.
Referenced by DoSetup().
| 
 | private | 
PHY object of the receiver.
Definition at line 826 of file wifi-phy-cca-test.cc.
Referenced by DoCheckPhyState(), DoSetup(), DoTeardown(), and RunOne().
| 
 | private | 
Listener for PHY state transitions.
Definition at line 834 of file wifi-phy-cca-test.cc.
Referenced by CheckLastCcaBusyNotification(), DoSetup(), and Reset().
| 
 | private | 
Generators of non-wifi signals.
Definition at line 829 of file wifi-phy-cca-test.cc.
Referenced by DoSetup(), DoTeardown(), and ScheduleTest().
| 
 | private | 
PHY object of the transmitter.
Definition at line 827 of file wifi-phy-cca-test.cc.
Referenced by DoSetup(), DoTeardown(), RunOne(), and SendHeSuPpdu().