HE-SIG-B/EHT-SIG duration test. More...
 Inheritance diagram for MuSigDurationTest:
 Inheritance diagram for MuSigDurationTest: Collaboration diagram for MuSigDurationTest:
 Collaboration diagram for MuSigDurationTest:| Public Types | |
| enum | MuType { OFDMA = 0 , MU_MIMO } | 
| OFDMA or MU-MIMO.  More... | |
|  Public Types inherited from ns3::TestCase | |
| enum class | Duration { QUICK = 1 , EXTENSIVE = 2 , TAKES_FOREVER = 3 } | 
| How long the test takes to execute.  More... | |
| Public Member Functions | |
| MuSigDurationTest (const std::list< HeMuUserInfo > &userInfos, const WifiMode &sigBMode, MHz_u channelWidth, uint8_t p20Index, MuType expectedMuType, const RuAllocation &expectedRuAllocation, const std::pair< std::size_t, std::size_t > &expectedNumUsersPerCc, Time expectedSigBDuration) | |
| Constructor. | |
|  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 | |
| WifiTxVector | BuildTxVector () const | 
| Build a TXVECTOR for HE MU or EHT MU. | |
| void | DoRun () override | 
| Implementation to actually run this TestCase. | |
| void | DoTeardown () override | 
| Implementation to do any local setup required for this TestCase. | |
| Private Attributes | |
| MHz_u | m_channelWidth | 
| Channel width. | |
| MuType | m_expectedMuType | 
| Expected MU type (OFDMA or MU-MIMO) | |
| std::pair< std::size_t, std::size_t > | m_expectedNumUsersPerCc | 
| Expected number of users per content channel. | |
| RuAllocation | m_expectedRuAllocation | 
| Expected RuType::RU_ALLOCATION. | |
| Time | m_expectedSigBDuration | 
| Expected duration of the HE-SIG-B/EHT-SIG header. | |
| uint8_t | m_p20Index | 
| index of the primary20 channel | |
| Ptr< YansWifiPhy > | m_phy | 
| the PHY under test | |
| WifiMode | m_sigBMode | 
| Mode used to transmit HE-SIG-B. | |
| std::list< HeMuUserInfo > | m_userInfos | 
| HE MU specific per-user information. | |
| Additional Inherited Members | |
|  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. | |
HE-SIG-B/EHT-SIG duration test.
Definition at line 2021 of file tx-duration-test.cc.
| MuSigDurationTest::MuSigDurationTest | ( | const std::list< HeMuUserInfo > & | userInfos, | 
| const WifiMode & | sigBMode, | ||
| MHz_u | channelWidth, | ||
| uint8_t | p20Index, | ||
| MuType | expectedMuType, | ||
| const RuAllocation & | expectedRuAllocation, | ||
| const std::pair< std::size_t, std::size_t > & | expectedNumUsersPerCc, | ||
| Time | expectedSigBDuration ) | 
Constructor.
| userInfos | the HE MU specific per-user information to use for the test | 
| sigBMode | the mode to transmit HE-SIG-B for the test | 
| channelWidth | the channel width to select for the test | 
| p20Index | the index of the primary20 channel | 
| expectedMuType | the expected MU type (OFDMA or MU-MIMO) | 
| expectedRuAllocation | the expected RuType::RU_ALLOCATION | 
| expectedNumUsersPerCc | the expected number of users per content channel | 
| expectedSigBDuration | the expected duration of the HE-SIG-B header | 
Definition at line 2078 of file tx-duration-test.cc.
References ns3::TestCase::TestCase(), m_channelWidth, m_expectedMuType, m_expectedNumUsersPerCc, m_expectedRuAllocation, m_expectedSigBDuration, m_p20Index, m_sigBMode, and m_userInfos.
 Here is the call graph for this function:
 Here is the call graph for this function:| 
 | private | 
Build a TXVECTOR for HE MU or EHT MU.
Definition at line 2100 of file tx-duration-test.cc.
References ns3::WifiTxVector::IsDlMuMimo(), ns3::WifiTxVector::IsDlOfdma(), ns3::WifiRu::IsHe(), m_channelWidth, m_expectedMuType, m_sigBMode, m_userInfos, ns3::NanoSeconds(), NS_ASSERT, OFDMA, ns3::WifiTxVector::SetChannelWidth(), ns3::WifiTxVector::SetEhtPpduType(), ns3::WifiTxVector::SetGuardInterval(), ns3::WifiTxVector::SetHeMuUserInfo(), ns3::WifiTxVector::SetNess(), ns3::WifiTxVector::SetPreambleType(), ns3::WifiTxVector::SetSigBMode(), ns3::WifiTxVector::SetStbc(), ns3::WIFI_PREAMBLE_EHT_MU, and ns3::WIFI_PREAMBLE_HE_MU.
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:| 
 | overrideprivatevirtual | 
Implementation to actually run this TestCase.
Subclasses should override this method to conduct their tests.
Implements ns3::TestCase.
Definition at line 2126 of file tx-duration-test.cc.
References BuildTxVector(), ns3::WifiPhy::CalculateTxDuration(), ns3::Create(), ns3::CreateObject(), ns3::Simulator::Destroy(), ns3::WifiPhyOperatingChannel::FindFirst(), ns3::HePpdu::GetHeSigBContentChannels(), ns3::HePpdu::GetNumRusPerHeSigBContentChannel(), m_expectedNumUsersPerCc, m_expectedRuAllocation, m_expectedSigBDuration, m_p20Index, m_phy, m_sigBMode, m_userInfos, NS_TEST_EXPECT_MSG_EQ, ns3::WIFI_MOD_CLASS_HE, ns3::WIFI_PHY_BAND_6GHZ, ns3::WIFI_PPDU_FIELD_EHT_SIG, ns3::WIFI_PPDU_FIELD_SIG_B, and ns3::WIFI_STANDARD_80211be.
 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 2211 of file tx-duration-test.cc.
References m_phy.
| 
 | private | 
Channel width.
Definition at line 2069 of file tx-duration-test.cc.
Referenced by MuSigDurationTest(), and BuildTxVector().
| 
 | private | 
Expected MU type (OFDMA or MU-MIMO)
Definition at line 2071 of file tx-duration-test.cc.
Referenced by MuSigDurationTest(), and BuildTxVector().
| 
 | private | 
Expected number of users per content channel.
Definition at line 2074 of file tx-duration-test.cc.
Referenced by MuSigDurationTest(), and DoRun().
| 
 | private | 
Expected RuType::RU_ALLOCATION.
Definition at line 2072 of file tx-duration-test.cc.
Referenced by MuSigDurationTest(), and DoRun().
| 
 | private | 
Expected duration of the HE-SIG-B/EHT-SIG header.
Definition at line 2075 of file tx-duration-test.cc.
Referenced by MuSigDurationTest(), and DoRun().
| 
 | private | 
index of the primary20 channel
Definition at line 2070 of file tx-duration-test.cc.
Referenced by MuSigDurationTest(), and DoRun().
| 
 | private | 
the PHY under test
Definition at line 2065 of file tx-duration-test.cc.
Referenced by DoRun(), and DoTeardown().
| 
 | private | 
Mode used to transmit HE-SIG-B.
Definition at line 2068 of file tx-duration-test.cc.
Referenced by MuSigDurationTest(), BuildTxVector(), and DoRun().
| 
 | private | 
HE MU specific per-user information.
Definition at line 2067 of file tx-duration-test.cc.
Referenced by MuSigDurationTest(), BuildTxVector(), and DoRun().