Tx Duration Test. More...
Inheritance diagram for TxDurationTest:
Collaboration diagram for TxDurationTest:Public Member Functions | |
| TxDurationTest () | |
| virtual | ~TxDurationTest () |
| void | DoRun (void) override |
| Implementation to actually run this TestCase. More... | |
Public Member Functions inherited from ns3::TestCase | |
| virtual | ~TestCase () |
| Destructor. More... | |
| std::string | GetName (void) const |
Private Member Functions | |
| bool | CheckPayloadDuration (uint32_t size, WifiMode payloadMode, uint16_t channelWidth, uint16_t guardInterval, WifiPreamble preamble, Time knownDuration) |
| Check if the payload tx duration returned by InterferenceHelper corresponds to a known value. More... | |
| bool | CheckTxDuration (uint32_t size, WifiMode payloadMode, uint16_t channelWidth, uint16_t guardInterval, WifiPreamble preamble, Time knownDuration) |
| Check if the overall tx duration returned by InterferenceHelper corresponds to a known value. More... | |
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. More... | |
| static bool | CheckHeMuTxDuration (std::list< uint32_t > sizes, std::list< HeMuUserInfo > userInfos, uint16_t channelWidth, uint16_t guardInterval, Time knownDuration) |
| Check if the overall Tx duration returned by WifiPhy for a HE MU PPDU corresponds to a known value. More... | |
Additional Inherited Members | |
Public Types inherited from ns3::TestCase | |
| enum | TestDuration { 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. More... | |
| void | AddTestCase (TestCase *testCase, TestDuration duration=QUICK) |
| Add an individual child TestCase to this test suite. More... | |
| TestCase * | GetParent () const |
| Get the parent of this TestCsse. More... | |
| bool | IsStatusFailure (void) const |
| Check if any tests failed. More... | |
| bool | IsStatusSuccess (void) const |
| Check if all tests passed. More... | |
| void | SetDataDir (std::string directory) |
| Set the data directory where reference trace files can be found. More... | |
| 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. More... | |
| bool | MustAssertOnFailure (void) const |
| Check if this run should assert on failure. More... | |
| bool | MustContinueOnFailure (void) const |
| Check if this run should continue on failure. More... | |
| std::string | CreateDataDirFilename (std::string filename) |
| Construct the full path to a file in the data directory. More... | |
| std::string | CreateTempDirFilename (std::string filename) |
| Construct the full path to a file in a temporary directory. More... | |
Tx Duration Test.
Definition at line 44 of file tx-duration-test.cc.
| TxDurationTest::TxDurationTest | ( | ) |
Definition at line 117 of file tx-duration-test.cc.
|
virtual |
Definition at line 122 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 311 of file tx-duration-test.cc.
References ns3::WifiMacHeader::GetSerializedSize(), NS_ASSERT, ns3::WifiMacHeader::SetType(), and ns3::WIFI_MAC_CTL_ACK.
Referenced by CheckHeMuTxDuration(), 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 HE 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 (in MHz) |
| guardInterval | the guard interval duration used for the transmission (in nanoseconds) |
| knownDuration | the known duration value of the transmission |
Definition at line 245 of file tx-duration-test.cc.
References CalculateTxDurationUsingList(), ns3::WifiMode::GetDataRate(), ns3::WifiTxVector::GetMode(), ns3::WifiTxVector::GetNss(), ns3::HeRu::RuSpec::GetRuType(), ns3::MicroSeconds(), ns3::NanoSeconds(), NS_ABORT_MSG_IF, NS_ASSERT, third::phy, ns3::HeMuUserInfo::ru, ns3::WifiTxVector::SetChannelWidth(), ns3::WifiTxVector::SetGuardInterval(), ns3::WifiTxVector::SetHeMuUserInfo(), ns3::WifiTxVector::SetNess(), ns3::WifiTxVector::SetPreambleType(), ns3::WifiTxVector::SetStbc(), ns3::WIFI_PHY_BAND_2_4GHZ, ns3::WIFI_PHY_BAND_5GHZ, and ns3::WIFI_PREAMBLE_HE_MU.
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 InterferenceHelper 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 (in MHz) |
| guardInterval | the guard interval duration used for the transmission (in nanoseconds) |
| preamble | the WifiPreamble used for the transmission |
| knownDuration | the known duration value of the transmission |
Definition at line 127 of file tx-duration-test.cc.
References ns3::WifiMode::GetDataRate(), ns3::WifiMode::GetModulationClass(), ns3::MicroSeconds(), third::phy, ns3::WifiTxVector::SetChannelWidth(), ns3::WifiTxVector::SetGuardInterval(), ns3::WifiTxVector::SetMode(), ns3::WifiTxVector::SetNess(), ns3::WifiTxVector::SetNss(), ns3::WifiTxVector::SetPreambleType(), ns3::WifiTxVector::SetStbc(), ns3::WIFI_MOD_CLASS_HE, ns3::WIFI_MOD_CLASS_HT, ns3::WIFI_MOD_CLASS_OFDM, ns3::WIFI_MOD_CLASS_VHT, ns3::WIFI_PHY_BAND_2_4GHZ, and ns3::WIFI_PHY_BAND_5GHZ.
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 InterferenceHelper 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 (in MHz) |
| guardInterval | the guard interval duration used for the transmission (in nanoseconds) |
| preamble | the WifiPreamble used for the transmission |
| knownDuration | the known duration value of the transmission |
Definition at line 182 of file tx-duration-test.cc.
References CalculateTxDurationUsingList(), ns3::WifiMode::GetDataRate(), ns3::WifiMode::GetModulationClass(), ns3::MicroSeconds(), third::phy, ns3::WifiTxVector::SetChannelWidth(), ns3::WifiTxVector::SetGuardInterval(), ns3::WifiTxVector::SetMode(), ns3::WifiTxVector::SetNess(), ns3::WifiTxVector::SetNss(), ns3::WifiTxVector::SetPreambleType(), ns3::WifiTxVector::SetStbc(), SU_STA_ID, ns3::WIFI_MOD_CLASS_HE, ns3::WIFI_MOD_CLASS_HT, ns3::WIFI_MOD_CLASS_OFDM, ns3::WIFI_MOD_CLASS_VHT, ns3::WIFI_PHY_BAND_2_4GHZ, and ns3::WIFI_PHY_BAND_5GHZ.
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 328 of file tx-duration-test.cc.
References CheckHeMuTxDuration(), CheckPayloadDuration(), CheckTxDuration(), ns3::MicroSeconds(), ns3::NanoSeconds(), NS_TEST_EXPECT_MSG_EQ, 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: