Inheritance diagram for TxDurationTest:
Collaboration diagram for TxDurationTest:Public Member Functions | |
| TxDurationTest () | |
| ~TxDurationTest () override | |
| void | DoRun () override |
| Implementation to actually run this TestCase. | |
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 | |
| bool | CheckPayloadDuration (uint32_t size, WifiMode payloadMode, MHz_u channelWidth, Time guardInterval, WifiPreamble preamble, Time knownDuration) |
| Check if the payload tx duration returned by the PHY corresponds to a known value. | |
| bool | CheckTxDuration (uint32_t size, WifiMode payloadMode, MHz_u channelWidth, Time guardInterval, WifiPreamble preamble, Time knownDuration) |
| Check if the overall tx duration returned by the PHY corresponds to a known value. | |
Static Private Member Functions | |
| static Time | CalculateTxDurationUsingList (std::list< uint32_t > sizes, std::list< uint16_t > staIds, WifiTxVector txVector, WifiPhyBand band) |
| Calculate the overall Tx duration returned by WifiPhy for list of sizes. | |
| static bool | CheckMuTxDuration (std::list< uint32_t > sizes, std::list< HeMuUserInfo > userInfos, MHz_u channelWidth, Time guardInterval, WifiPreamble preamble, Time knownDuration) |
| Check if the overall Tx duration returned by WifiPhy for a MU PPDU corresponds to a known value. | |
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... | |
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. | |
Tx Duration Test.
Definition at line 64 of file tx-duration-test.cc.
| TxDurationTest::TxDurationTest | ( | ) |
Definition at line 150 of file tx-duration-test.cc.
References ns3::TestCase::TestCase().
Here is the call graph for this function:
|
override |
Definition at line 155 of file tx-duration-test.cc.
|
staticprivate |
Calculate the overall Tx duration returned by WifiPhy for list of sizes.
A map of WifiPsdu indexed by STA-ID is built using the provided lists and handed over to the corresponding SU/MU WifiPhy Tx duration computing method. Note that provided lists should be of same size.
| sizes | the list of PSDU sizes for each station in octets |
| staIds | the list of STA-IDs of each station |
| txVector | the TXVECTOR used for the transmission of the PPDU |
| band | the selected wifi PHY band |
Definition at line 360 of file tx-duration-test.cc.
References ns3::WifiPhy::CalculateTxDuration(), ns3::Create(), ns3::WifiMacHeader::GetSerializedSize(), NS_ASSERT, ns3::WifiMacHeader::SetType(), and ns3::WIFI_MAC_CTL_ACK.
Referenced by CheckMuTxDuration(), and CheckTxDuration().
Here is the call graph for this function:
Here is the caller graph for this function:
|
staticprivate |
Check if the overall Tx duration returned by WifiPhy for a MU PPDU corresponds to a known value.
| sizes | the list of PSDU sizes for each station in octets |
| userInfos | the list of HE MU specific user transmission parameters |
| channelWidth | the channel width used for the transmission |
| guardInterval | the guard interval duration used for the transmission |
| preamble | the WifiPreamble used for the transmission |
| knownDuration | the known duration value of the transmission |
Definition at line 267 of file tx-duration-test.cc.
References ns3::WifiPhy::CalculateTxDuration(), CalculateTxDurationUsingList(), ns3::CreateObject(), ns3::WifiRu::GetBandwidth(), ns3::WifiRu::GetRuType(), ns3::VhtPhy::GetVhtMcs0(), ns3::IsEht(), ns3::MicroSeconds(), NS_ABORT_MSG_IF, NS_ASSERT, ns3::WifiTxVector::SetPreambleType(), ns3::WIFI_PHY_BAND_2_4GHZ, ns3::WIFI_PHY_BAND_5GHZ, and ns3::WIFI_PHY_BAND_6GHZ.
Referenced by DoRun().
Here is the call graph for this function:
Here is the caller graph for this function:
|
private |
Check if the payload tx duration returned by the PHY corresponds to a known value.
| size | size of payload in octets (includes everything after the PHY header) |
| payloadMode | the WifiMode used for the transmission |
| channelWidth | the channel width used for the transmission |
| guardInterval | the guard interval duration used for the transmission |
| preamble | the WifiPreamble used for the transmission |
| knownDuration | the known duration value of the transmission |
Definition at line 160 of file tx-duration-test.cc.
References ns3::CreateObject(), ns3::WifiMode::GetDataRate(), ns3::WifiMode::GetModulationClass(), ns3::WifiPhy::GetPayloadDuration(), ns3::MicroSeconds(), ns3::WifiTxVector::SetChannelWidth(), ns3::WifiTxVector::SetGuardInterval(), ns3::WifiTxVector::SetMode(), ns3::WifiTxVector::SetPreambleType(), ns3::WIFI_MOD_CLASS_HE, ns3::WIFI_MOD_CLASS_OFDM, ns3::WIFI_MOD_CLASS_VHT, ns3::WIFI_PHY_BAND_2_4GHZ, ns3::WIFI_PHY_BAND_5GHZ, and ns3::WIFI_PHY_BAND_6GHZ.
Referenced by DoRun().
Here is the call graph for this function:
Here is the caller graph for this function:
|
private |
Check if the overall tx duration returned by the PHY corresponds to a known value.
| size | size of payload in octets (includes everything after the PHY header) |
| payloadMode | the WifiMode used for the transmission |
| channelWidth | the channel width used for the transmission |
| guardInterval | the guard interval duration used for the transmission |
| preamble | the WifiPreamble used for the transmission |
| knownDuration | the known duration value of the transmission |
Definition at line 210 of file tx-duration-test.cc.
References ns3::WifiPhy::CalculateTxDuration(), CalculateTxDurationUsingList(), ns3::CreateObject(), ns3::WifiMode::GetDataRate(), ns3::WifiMode::GetModulationClass(), ns3::MicroSeconds(), ns3::WifiTxVector::SetMode(), ns3::SU_STA_ID, ns3::WIFI_MOD_CLASS_HE, ns3::WIFI_MOD_CLASS_OFDM, ns3::WIFI_MOD_CLASS_VHT, ns3::WIFI_PHY_BAND_2_4GHZ, ns3::WIFI_PHY_BAND_5GHZ, and ns3::WIFI_PHY_BAND_6GHZ.
Referenced by DoRun().
Here is the call graph for this function:
Here is the caller graph for this function:
|
overridevirtual |
Implementation to actually run this TestCase.
Subclasses should override this method to conduct their tests.
Implements ns3::TestCase.
Definition at line 380 of file tx-duration-test.cc.
References CheckMuTxDuration(), CheckPayloadDuration(), CheckTxDuration(), ns3::Simulator::Destroy(), ns3::DsssPhy::GetDsssRate11Mbps(), ns3::DsssPhy::GetDsssRate1Mbps(), ns3::DsssPhy::GetDsssRate2Mbps(), ns3::DsssPhy::GetDsssRate5_5Mbps(), ns3::EhtPhy::GetEhtMcs0(), ns3::EhtPhy::GetEhtMcs13(), ns3::ErpOfdmPhy::GetErpOfdmRate54Mbps(), ns3::HePhy::GetHeMcs0(), ns3::HePhy::GetHeMcs11(), ns3::HtPhy::GetHtMcs0(), ns3::HtPhy::GetHtMcs6(), ns3::HtPhy::GetHtMcs7(), ns3::OfdmPhy::GetOfdmRate54Mbps(), ns3::VhtPhy::GetVhtMcs0(), ns3::VhtPhy::GetVhtMcs8(), ns3::VhtPhy::GetVhtMcs9(), ns3::MicroSeconds(), ns3::NanoSeconds(), NS_TEST_EXPECT_MSG_EQ, ns3::RU_242_TONE, ns3::WIFI_PREAMBLE_EHT_MU, ns3::WIFI_PREAMBLE_HE_MU, ns3::WIFI_PREAMBLE_HE_SU, ns3::WIFI_PREAMBLE_HT_MF, ns3::WIFI_PREAMBLE_LONG, ns3::WIFI_PREAMBLE_SHORT, and ns3::WIFI_PREAMBLE_VHT_SU.
Here is the call graph for this function: