Make sure that the correct channel width and center frequency have been set for OFDM basic rate transmissions and BSS channel widths larger than 20 MHz. More...
Inheritance diagram for Bug2843TestCase:
Collaboration diagram for Bug2843TestCase:Public Member Functions | |
| Bug2843TestCase () | |
| ~Bug2843TestCase () 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 Types | |
| typedef std::tuple< double, uint16_t, uint32_t, WifiModulationClass > | FreqWidthSubbandModulationTuple |
| A tuple of {starting frequency, channelWidth, Number of subbands in SpectrumModel, modulation type}. | |
Private Member Functions | |
| void | SendPacketBurst (uint8_t numPackets, Ptr< NetDevice > sourceDevice, Address &destination) const |
| Triggers the arrival of a burst of 1000 Byte-long packets in the source device. | |
| void | StoreDistinctTuple (std::string context, Ptr< SpectrumSignalParameters > txParams) |
| Stores the distinct {starting frequency, channelWidth, Number of subbands in SpectrumModel, modulation type} tuples that have been used during the testcase run. | |
Private Attributes | |
| uint16_t | m_channelWidth |
| channel width (in MHz) | |
| std::vector< FreqWidthSubbandModulationTuple > | m_distinctTuples |
| vector of distinct {starting frequency, channelWidth, Number of subbands in SpectrumModel, modulation type} tuples | |
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. | |
| void | AddTestCase (TestCase *testCase, TestDuration 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. | |
Make sure that the correct channel width and center frequency have been set for OFDM basic rate transmissions and BSS channel widths larger than 20 MHz.
The scenario considers a UDP transmission between a 40 MHz 802.11ac station and a 40 MHz 802.11ac access point. All transmission parameters are checked so as to ensure that only 2 {starting frequency, channelWidth, Number of subbands in SpectrumModel, modulation type} tuples are used.
See Bug 2843
Definition at line 1512 of file wifi-test.cc.
|
private |
A tuple of {starting frequency, channelWidth, Number of subbands in SpectrumModel, modulation type}.
Definition at line 1525 of file wifi-test.cc.
| Bug2843TestCase::Bug2843TestCase | ( | ) |
Definition at line 1550 of file wifi-test.cc.
|
override |
Definition at line 1556 of file wifi-test.cc.
|
overridevirtual |
Implementation to actually run this TestCase.
Subclasses should override this method to conduct their tests.
Implements ns3::TestCase.
Definition at line 1607 of file wifi-test.cc.
References ns3::Config::Connect(), ns3::NodeContainer::Create(), ns3::Simulator::Destroy(), ns3::NetDeviceContainer::Get(), m_distinctTuples, ns3::MakeCallback(), NS_TEST_ASSERT_MSG_EQ, ns3::Simulator::Run(), ns3::Simulator::Schedule(), ns3::Seconds(), SendPacketBurst(), ns3::WifiPhyHelper::Set(), ns3::SpectrumWifiPhyHelper::SetChannel(), ns3::WifiPhyHelper::SetErrorRateModel(), ns3::Simulator::Stop(), StoreDistinctTuple(), and ns3::WIFI_STANDARD_80211ac.
Here is the call graph for this function:
|
private |
Triggers the arrival of a burst of 1000 Byte-long packets in the source device.
| numPackets | number of packets in burst |
| sourceDevice | pointer to the source NetDevice |
| destination | address of the destination device |
Definition at line 1595 of file wifi-test.cc.
Referenced by DoRun().
Here is the caller graph for this function:
|
private |
Stores the distinct {starting frequency, channelWidth, Number of subbands in SpectrumModel, modulation type} tuples that have been used during the testcase run.
| context | the context |
| txParams | spectrum signal parameters set by transmitter |
Definition at line 1561 of file wifi-test.cc.
References ns3::WifiTxVector::GetChannelWidth(), ns3::WifiTxVector::GetMode(), ns3::WifiMode::GetModulationClass(), m_channelWidth, and m_distinctTuples.
Referenced by DoRun().
Here is the call graph for this function:
Here is the caller graph for this function:
|
private |
channel width (in MHz)
Definition at line 1547 of file wifi-test.cc.
Referenced by StoreDistinctTuple().
|
private |
vector of distinct {starting frequency, channelWidth, Number of subbands in SpectrumModel, modulation type} tuples
Definition at line 1527 of file wifi-test.cc.
Referenced by DoRun(), and StoreDistinctTuple().