A Discrete-Event Network Simulator
API
Loading...
Searching...
No Matches
TestMultipleHeTbPreambles Class Reference

UL-OFDMA multiple RX events test. More...

+ Inheritance diagram for TestMultipleHeTbPreambles:
+ Collaboration diagram for TestMultipleHeTbPreambles:

Public Member Functions

 TestMultipleHeTbPreambles ()
 
 ~TestMultipleHeTbPreambles () override
 
- Public Member Functions inherited from ns3::TestCase
 TestCase (const TestCase &)=delete
 
virtual ~TestCase ()
 Destructor.
 
std::string GetName () const
 
TestCaseoperator= (const TestCase &)=delete
 

Private Member Functions

void CheckBytesDropped (size_t expectedBytesDropped)
 Check the number of bytes dropped.
 
void CheckHeTbPreambles (size_t nEvents, std::vector< uint64_t > uids)
 Check the received HE TB preambles.
 
void DoRun () override
 Implementation to actually run this TestCase.
 
void DoRxHeTbPpduOfdmaPart (Ptr< WifiSpectrumSignalParameters > rxParamsOfdma)
 Receive OFDMA part of HE TB PPDU function.
 
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 Reset ()
 Reset function.
 
void RxDropped (Ptr< const Packet > p, WifiPhyRxfailureReason reason)
 RX dropped function.
 
void RxHeTbPpdu (uint64_t uid, uint16_t staId, double txPowerWatts, size_t payloadSize)
 Receive HE TB PPDU function.
 
void RxHeTbPpduOfdmaPart (Ptr< WifiSpectrumSignalParameters > rxParamsOfdma)
 Receive OFDMA part of HE TB PPDU function.
 

Private Attributes

Ptr< OfdmaSpectrumWifiPhym_phy
 Phy.
 
uint64_t m_totalBytesDropped
 total number of dropped bytes
 
WifiTxVector m_trigVector
 TRIGVECTOR.
 

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...
 
using instead = Duration
 
- Static Public Attributes inherited from ns3::TestCase
static constexpr auto EXTENSIVE = Duration::EXTENSIVE
 
static constexpr auto QUICK = Duration::QUICK
 
static constexpr auto TAKES_FOREVER
 
- 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.
 
TestCaseGetParent () 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.
 

Detailed Description

UL-OFDMA multiple RX events test.

Definition at line 2260 of file wifi-phy-ofdma-test.cc.

Constructor & Destructor Documentation

◆ TestMultipleHeTbPreambles()

TestMultipleHeTbPreambles::TestMultipleHeTbPreambles ( )

Definition at line 2328 of file wifi-phy-ofdma-test.cc.

◆ ~TestMultipleHeTbPreambles()

TestMultipleHeTbPreambles::~TestMultipleHeTbPreambles ( )
override

Definition at line 2344 of file wifi-phy-ofdma-test.cc.

Member Function Documentation

◆ CheckBytesDropped()

void TestMultipleHeTbPreambles::CheckBytesDropped ( size_t  expectedBytesDropped)
private

Check the number of bytes dropped.

Parameters
expectedBytesDroppedthe expected number of bytes dropped

Definition at line 2382 of file wifi-phy-ofdma-test.cc.

References m_totalBytesDropped, and NS_TEST_ASSERT_MSG_EQ.

Referenced by DoRun().

+ Here is the caller graph for this function:

◆ CheckHeTbPreambles()

void TestMultipleHeTbPreambles::CheckHeTbPreambles ( size_t  nEvents,
std::vector< uint64_t >  uids 
)
private

Check the received HE TB preambles.

Parameters
nEventsthe number of events created by the PHY
uidsthe vector of expected UIDs

Definition at line 2366 of file wifi-phy-ofdma-test.cc.

References OfdmaSpectrumWifiPhy::GetCurrentPreambleEvents(), m_phy, NS_TEST_ASSERT_MSG_EQ, and ns3::WIFI_PREAMBLE_HE_TB.

Referenced by DoRun().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ DoRun()

void TestMultipleHeTbPreambles::DoRun ( )
overrideprivatevirtual

Implementation to actually run this TestCase.

Subclasses should override this method to conduct their tests.

Implements ns3::TestCase.

Definition at line 2538 of file wifi-phy-ofdma-test.cc.

References ns3::WifiPhy::AssignStreams(), CheckBytesDropped(), CheckHeTbPreambles(), ns3::Simulator::Destroy(), m_phy, ns3::MicroSeconds(), ns3::NanoSeconds(), Reset(), ns3::Simulator::Run(), RxHeTbPpdu(), ns3::Simulator::Schedule(), ns3::Seconds(), ns3::RngSeedManager::SetRun(), and ns3::RngSeedManager::SetSeed().

+ Here is the call graph for this function:

◆ DoRxHeTbPpduOfdmaPart()

void TestMultipleHeTbPreambles::DoRxHeTbPpduOfdmaPart ( Ptr< WifiSpectrumSignalParameters rxParamsOfdma)
private

Receive OFDMA part of HE TB PPDU function.

Actual reception call.

Parameters
rxParamsOfdmathe spectrum signal parameters to send for OFDMA part

Definition at line 2486 of file wifi-phy-ofdma-test.cc.

References m_phy, and ns3::SpectrumWifiPhy::StartRx().

Referenced by RxHeTbPpduOfdmaPart().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ DoSetup()

void TestMultipleHeTbPreambles::DoSetup ( )
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 2495 of file wifi-phy-ofdma-test.cc.

References ns3::SpectrumWifiPhy::AddChannel(), ns3::WifiPhy::ConfigureStandard(), DEFAULT_CHANNEL_NUMBER, DEFAULT_CHANNEL_WIDTH, m_phy, ns3::MakeCallback(), ns3::NanoSeconds(), RxDropped(), ns3::SpectrumWifiPhy::SetDevice(), ns3::WifiPhy::SetErrorRateModel(), ns3::WifiPhy::SetInterferenceHelper(), ns3::WifiPhy::SetOperatingChannel(), ns3::WifiPhy::SetPreambleDetectionModel(), ns3::ObjectBase::TraceConnectWithoutContext(), ns3::WIFI_PHY_BAND_5GHZ, and ns3::WIFI_STANDARD_80211ax.

+ Here is the call graph for this function:

◆ DoTeardown()

void TestMultipleHeTbPreambles::DoTeardown ( )
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 2531 of file wifi-phy-ofdma-test.cc.

References ns3::Object::Dispose(), and m_phy.

+ Here is the call graph for this function:

◆ Reset()

void TestMultipleHeTbPreambles::Reset ( )
private

Reset function.

Definition at line 2349 of file wifi-phy-ofdma-test.cc.

References ns3::WifiTxVector::GetHeMuUserInfoMap(), m_phy, m_totalBytesDropped, m_trigVector, NS_LOG_FUNCTION, and ns3::WifiPhy::Reset().

Referenced by DoRun().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ RxDropped()

void TestMultipleHeTbPreambles::RxDropped ( Ptr< const Packet p,
WifiPhyRxfailureReason  reason 
)
private

RX dropped function.

Parameters
pthe packet
reasonthe reason

Definition at line 2359 of file wifi-phy-ofdma-test.cc.

References m_totalBytesDropped, and NS_LOG_FUNCTION.

Referenced by DoSetup().

+ Here is the caller graph for this function:

◆ RxHeTbPpdu()

void TestMultipleHeTbPreambles::RxHeTbPpdu ( uint64_t  uid,
uint16_t  staId,
double  txPowerWatts,
size_t  payloadSize 
)
private

Receive HE TB PPDU function.

Parameters
uidthe UID used to identify a set of HE TB PPDUs belonging to the same UL-MU transmission
staIdthe STA ID
txPowerWattsthe TX power in watts
payloadSizethe size of the payload in bytes

Definition at line 2390 of file wifi-phy-ofdma-test.cc.

References ns3::WifiPhy::CalculateTxDuration(), ns3::HePhy::ConvertHeTbPpduDurationToLSigLength(), ns3::WifiSpectrumValueHelper::CreateHeMuOfdmTxPowerSpectralDensity(), ns3::WifiSpectrumValueHelper::CreateHeOfdmTxPowerSpectralDensity(), DEFAULT_CHANNEL_WIDTH, DEFAULT_FREQUENCY, DEFAULT_GUARD_WIDTH, ns3::HeRu::GetBandwidth(), ns3::SpectrumWifiPhy::GetGuardBandwidth(), ns3::HePhy::GetHeMcs7(), OfdmaSpectrumWifiPhy::GetHePhy(), ns3::WifiPhy::GetLatestPhyEntity(), ns3::WifiPhy::GetOperatingChannel(), ns3::WifiPhy::GetPhyBand(), ns3::WifiTxVector::GetRu(), ns3::HeRu::RuSpec::GetRuType(), m_phy, m_trigVector, ns3::HePpdu::PSD_HE_PORTION, ns3::HePpdu::PSD_NON_HE_PORTION, ns3::HeRu::RU_106_TONE, RxHeTbPpduOfdmaPart(), ns3::Simulator::Schedule(), ns3::WifiMacHeader::SetAddr1(), ns3::WifiTxVector::SetHeMuUserInfo(), ns3::WifiTxVector::SetLength(), ns3::WifiTxVector::SetMode(), ns3::WifiTxVector::SetNss(), ns3::WifiMacHeader::SetQosTid(), ns3::WifiTxVector::SetRu(), ns3::WifiMacHeader::SetSequenceNumber(), ns3::WifiMacHeader::SetType(), ns3::SpectrumWifiPhy::StartRx(), ns3::WIFI_MAC_QOSDATA, and ns3::WIFI_PREAMBLE_HE_TB.

Referenced by DoRun().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ RxHeTbPpduOfdmaPart()

void TestMultipleHeTbPreambles::RxHeTbPpduOfdmaPart ( Ptr< WifiSpectrumSignalParameters rxParamsOfdma)
private

Receive OFDMA part of HE TB PPDU function.

Immediately schedules DoRxHeTbPpduOfdmaPart.

Parameters
rxParamsOfdmathe spectrum signal parameters to send for OFDMA part

Definition at line 2480 of file wifi-phy-ofdma-test.cc.

References DoRxHeTbPpduOfdmaPart(), and ns3::Simulator::ScheduleNow().

Referenced by RxHeTbPpdu().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

Member Data Documentation

◆ m_phy

Ptr<OfdmaSpectrumWifiPhy> TestMultipleHeTbPreambles::m_phy
private

◆ m_totalBytesDropped

uint64_t TestMultipleHeTbPreambles::m_totalBytesDropped
private

total number of dropped bytes

Definition at line 2324 of file wifi-phy-ofdma-test.cc.

Referenced by CheckBytesDropped(), Reset(), and RxDropped().

◆ m_trigVector

WifiTxVector TestMultipleHeTbPreambles::m_trigVector
private

TRIGVECTOR.

Definition at line 2325 of file wifi-phy-ofdma-test.cc.

Referenced by Reset(), and RxHeTbPpdu().


The documentation for this class was generated from the following file: