Ampdu Aggregation Test. More...
| Classes | |
| struct | Params | 
| Test parameters.  More... | |
| Public Member Functions | |
| AmpduAggregationTest () | |
| AmpduAggregationTest (const std::string &name, const Params ¶ms) | |
| Construct object with non-default test parameters. | |
| Public Member Functions inherited from ns3::TestCase | |
| TestCase (const TestCase &)=delete | |
| virtual | ~TestCase () | 
| Destructor. | |
| std::string | GetName () const | 
| TestCase & | operator= (const TestCase &)=delete | 
| Protected Member Functions | |
| void | DequeueMpdus (const std::vector< Ptr< WifiMpdu > > &mpduList) | 
| Dequeue a PSDU. | |
| void | EnqueuePkts (std::size_t count, uint32_t size, const Mac48Address &dest) | 
| Enqueue the given number of packets addressed to the given station and of the given size. | |
| void | EstablishAgreement (const Mac48Address &recipient) | 
| Establish a BlockAck agreement. | |
| Ptr< QosTxop > | GetBeQueue () const | 
| 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. | |
| Protected Attributes | |
| Ptr< StaWifiMac > | m_mac | 
| Mac. | |
| Params | m_params | 
| test parameters | |
| std::vector< Ptr< WifiPhy > > | m_phys | 
| Phys. | |
| Private Member Functions | |
| 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 | MpduDiscarded (WifiMacDropReason reason, Ptr< const WifiMpdu > mpdu) | 
| Fired when the MAC discards an MPDU. | |
| Private Attributes | |
| Ptr< WifiNetDevice > | m_device | 
| WifiNetDevice. | |
| bool | m_discarded | 
| whether the packet should be discarded | |
| ObjectFactory | m_factory | 
| factory | |
| std::vector< Ptr< WifiRemoteStationManager > > | m_managers | 
| remote station managers | |
| 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... | |
Ampdu Aggregation Test.
Definition at line 53 of file wifi-aggregation-test.cc.
| AmpduAggregationTest::AmpduAggregationTest | ( | ) | 
Definition at line 130 of file wifi-aggregation-test.cc.
References AmpduAggregationTest(), ns3::Seconds(), and ns3::WIFI_STANDARD_80211n.
Referenced by AmpduAggregationTest(), EhtAggregationTest::EhtAggregationTest(), HeAggregationTest::HeAggregationTest(), and TwoLevelAggregationTest::TwoLevelAggregationTest().
| AmpduAggregationTest::AmpduAggregationTest | ( | const std::string & | name, | 
| const Params & | params ) | 
Construct object with non-default test parameters.
| name | the name of the test case | 
| params | the test parameters | 
Definition at line 142 of file wifi-aggregation-test.cc.
References ns3::TestCase::TestCase(), m_discarded, and m_params.
| 
 | protected | 
Dequeue a PSDU.
| mpduList | the MPDUs contained in the PSDU | 
Definition at line 344 of file wifi-aggregation-test.cc.
References ns3::AC_BE, and m_mac.
Referenced by DoRun(), EhtAggregationTest::DoRun(), HeAggregationTest::DoRun(), and TwoLevelAggregationTest::DoRun().
| 
 | overrideprivatevirtual | 
Implementation to actually run this TestCase.
Subclasses should override this method to conduct their tests.
Implements ns3::TestCase.
Reimplemented in EhtAggregationTest, HeAggregationTest, and TwoLevelAggregationTest.
Definition at line 391 of file wifi-aggregation-test.cc.
References ns3::WifiTxParameters::Clear(), ns3::Create(), DequeueMpdus(), ns3::DynamicCast(), EnqueuePkts(), GetBeQueue(), m_discarded, m_mac, m_phys, ns3::WifiTxParameters::m_txVector, ns3::MakeCallback(), ns3::Time::Min(), MpduDiscarded(), NS_TEST_EXPECT_MSG_EQ, and ns3::SINGLE_LINK_OP_ID.
| 
 | 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 156 of file wifi-aggregation-test.cc.
References ns3::AC_BE, ns3::StaWifiMac::ASSOCIATED, ns3::StaWifiMac::StaLinkEntity::bssid, ns3::ObjectFactory::Create(), ns3::CreateObject(), ns3::CreateObjectWithAttributes(), EstablishAgreement(), GetBeQueue(), ns3::Mac48Address::GetBroadcast(), ns3::GetFrameExchangeManagerTypeIdName(), m_device, m_factory, m_mac, m_managers, m_params, m_phys, ns3::HeCapabilities::SetChannelWidthSet(), ns3::EhtCapabilities::SetMaxAmpduLength(), ns3::HeCapabilities::SetMaxAmpduLength(), ns3::HtCapabilities::SetMaxAmpduLength(), ns3::HtCapabilities::SetMaxAmsduLength(), ns3::EhtCapabilities::SetMaxMpduLength(), ns3::VhtCapabilities::SetMaxMpduLength(), ns3::ObjectFactory::SetTypeId(), ns3::WIFI_STANDARD_80211ac, ns3::WIFI_STANDARD_80211ax, and ns3::WIFI_STANDARD_80211be.
| 
 | 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 495 of file wifi-aggregation-test.cc.
References ns3::Simulator::Destroy(), m_device, and m_managers.
| 
 | protected | 
Enqueue the given number of packets addressed to the given station and of the given size.
| count | the number of packets | 
| size | the size (bytes) of each packet | 
| dest | the destination address | 
Definition at line 374 of file wifi-aggregation-test.cc.
References ns3::Create(), GetBeQueue(), ns3::WifiMacHeader::SetAddr1(), ns3::WifiMacHeader::SetAddr2(), ns3::WifiMacHeader::SetQosTid(), ns3::WifiMacHeader::SetType(), and ns3::WIFI_MAC_QOSDATA.
Referenced by DoRun(), EhtAggregationTest::DoRun(), HeAggregationTest::DoRun(), and TwoLevelAggregationTest::DoRun().
| 
 | protected | 
Establish a BlockAck agreement.
| recipient | the recipient MAC address | 
Definition at line 351 of file wifi-aggregation-test.cc.
References GetBeQueue(), ns3::MgtAddBaRequestHeader::GetTid(), ns3::MgtAddBaRequestHeader::GetTimeout(), ns3::MgtAddBaRequestHeader::IsAmsduSupported(), m_params, ns3::MgtAddBaResponseHeader::SetAmsduSupport(), ns3::MgtAddBaRequestHeader::SetBufferSize(), ns3::MgtAddBaResponseHeader::SetBufferSize(), ns3::MgtAddBaRequestHeader::SetImmediateBlockAck(), ns3::MgtAddBaResponseHeader::SetImmediateBlockAck(), ns3::MgtAddBaRequestHeader::SetStartingSequence(), ns3::MgtAddBaResponseHeader::SetStatusCode(), ns3::StatusCode::SetSuccess(), ns3::MgtAddBaRequestHeader::SetTid(), ns3::MgtAddBaResponseHeader::SetTid(), ns3::MgtAddBaRequestHeader::SetTimeout(), and ns3::MgtAddBaResponseHeader::SetTimeout().
Referenced by DoSetup().
Definition at line 338 of file wifi-aggregation-test.cc.
References m_mac.
Referenced by DoRun(), EhtAggregationTest::DoRun(), HeAggregationTest::DoRun(), TwoLevelAggregationTest::DoRun(), DoSetup(), EnqueuePkts(), and EstablishAgreement().
| 
 | private | 
Fired when the MAC discards an MPDU.
| reason | the reason why the MPDU was discarded | 
| mpdu | the discarded MPDU | 
Definition at line 150 of file wifi-aggregation-test.cc.
References m_discarded.
Referenced by DoRun().
| 
 | private | 
Definition at line 124 of file wifi-aggregation-test.cc.
Referenced by DoSetup(), and DoTeardown().
| 
 | private | 
whether the packet should be discarded
Definition at line 127 of file wifi-aggregation-test.cc.
Referenced by AmpduAggregationTest(), DoRun(), and MpduDiscarded().
| 
 | private | 
| 
 | protected | 
Mac.
Definition at line 107 of file wifi-aggregation-test.cc.
Referenced by DequeueMpdus(), DoRun(), EhtAggregationTest::DoRun(), HeAggregationTest::DoRun(), TwoLevelAggregationTest::DoRun(), DoSetup(), and GetBeQueue().
| 
 | private | 
remote station managers
Definition at line 125 of file wifi-aggregation-test.cc.
Referenced by DoSetup(), and DoTeardown().
| 
 | protected | 
test parameters
Definition at line 109 of file wifi-aggregation-test.cc.
Referenced by AmpduAggregationTest(), EhtAggregationTest::DoRun(), HeAggregationTest::DoRun(), TwoLevelAggregationTest::DoRun(), DoSetup(), and EstablishAgreement().
Phys.
Definition at line 108 of file wifi-aggregation-test.cc.
Referenced by DoRun(), EhtAggregationTest::DoRun(), HeAggregationTest::DoRun(), TwoLevelAggregationTest::DoRun(), and DoSetup().