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, Watt_u txPower, 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...
 
- Static Public Attributes inherited from ns3::TestCase
static constexpr auto QUICK = Duration::QUICK
 Deprecated test duration simple enums.
 
static constexpr auto EXTENSIVE = Duration::EXTENSIVE
 
static constexpr auto TAKES_FOREVER = Duration::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 2254 of file wifi-phy-ofdma-test.cc.

Constructor & Destructor Documentation

◆ TestMultipleHeTbPreambles()

TestMultipleHeTbPreambles::TestMultipleHeTbPreambles ( )

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

◆ ~TestMultipleHeTbPreambles()

TestMultipleHeTbPreambles::~TestMultipleHeTbPreambles ( )
override

Definition at line 2338 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 2376 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 2360 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 2535 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 2481 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 2490 of file wifi-phy-ofdma-test.cc.

References ns3::SpectrumWifiPhy::AddChannel(), ns3::WifiPhy::ConfigureStandard(), ns3::CreateObject(), ns3::CreateObjectWithAttributes(), 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 2528 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 2343 of file wifi-phy-ofdma-test.cc.

References ns3::WifiTxVector::GetHeMuUserInfoMap(), m_phy, m_totalBytesDropped, m_trigVector, NS_LOG_FUNCTION, and OfdmaSpectrumWifiPhy::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 2353 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,
Watt_u txPower,
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
txPowerthe TX power
payloadSizethe size of the payload in bytes

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

References ns3::WifiPhy::CalculateTxDuration(), ns3::HePhy::ConvertHeTbPpduDurationToLSigLength(), ns3::Create(), ns3::WifiSpectrumValueHelper::CreateHeMuOfdmTxPowerSpectralDensity(), ns3::WifiSpectrumValueHelper::CreateHeOfdmTxPowerSpectralDensity(), DEFAULT_CHANNEL_WIDTH, DEFAULT_FREQUENCY, DEFAULT_GUARD_WIDTH, ns3::DynamicCast(), ns3::HeRu::GetBandwidth(), ns3::SpectrumWifiPhy::GetGuardBandwidth(), ns3::HePhy::GetHeMcs7(), OfdmaSpectrumWifiPhy::GetHePhy(), ns3::WifiPhy::GetLatestPhyEntity(), ns3::WifiPhy::GetOperatingChannel(), ns3::WifiPhy::GetPhyBand(), m_phy, m_trigVector, ns3::NanoSeconds(), 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::WifiMacHeader::SetQosTid(), 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 2475 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 2318 of file wifi-phy-ofdma-test.cc.

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

◆ m_trigVector

WifiTxVector TestMultipleHeTbPreambles::m_trigVector
private

TRIGVECTOR.

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

Referenced by Reset(), and RxHeTbPpdu().


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