A Discrete-Event Network Simulator
API
LenaMimoTestCase Class Reference

This system test program creates different test cases with a single eNB and single UE. More...

#include "lte-test-mimo.h"

+ Inheritance diagram for LenaMimoTestCase:
+ Collaboration diagram for LenaMimoTestCase:

Public Member Functions

 LenaMimoTestCase (uint16_t dist, std::vector< uint32_t > estThrDl, std::string schedulerType, bool useIdealRrc)
 Constructor. More...
 
 ~LenaMimoTestCase () override
 
- Public Member Functions inherited from ns3::TestCase
 TestCase (const TestCase &)=delete
 
virtual ~TestCase ()
 Destructor. More...
 
std::string GetName () const
 
TestCaseoperator= (const TestCase &)=delete
 

Private Member Functions

void DoRun () override
 Implementation to actually run this TestCase. More...
 
void GetRlcBufferSample (Ptr< RadioBearerStatsCalculator > rlcStats, uint64_t imsi, uint8_t rnti)
 Get RLC buffer sample. More...
 

Static Private Member Functions

static std::string BuildNameString (uint16_t dist, std::string schedulerType, bool useIdealRrc)
 Builds the test name string based on provided parameter values. More...
 

Private Attributes

uint16_t m_dist
 the distance More...
 
std::vector< uint64_t > m_dlDataRxed
 DL data received. More...
 
std::vector< uint32_t > m_estThrDl
 estimated throughput DL More...
 
std::string m_schedulerType
 the scheduler type More...
 
bool m_useIdealRrc
 whether to use the ideal RRC 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...
 
TestCaseGetParent () const
 Get the parent of this TestCase. More...
 
bool IsStatusFailure () const
 Check if any tests failed. More...
 
bool IsStatusSuccess () 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 () const
 Check if this run should assert on failure. More...
 
bool MustContinueOnFailure () 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...
 

Detailed Description

This system test program creates different test cases with a single eNB and single UE.

The traffic is configured to be in saturation mode. It is checked if the throughput reaches the expected values when MIMO is used.

Definition at line 41 of file lte-test-mimo.h.

Constructor & Destructor Documentation

◆ LenaMimoTestCase()

LenaMimoTestCase::LenaMimoTestCase ( uint16_t  dist,
std::vector< uint32_t >  estThrDl,
std::string  schedulerType,
bool  useIdealRrc 
)

Constructor.

Parameters
distthe distance
estThrDlthe estimated throughput DL
schedulerTypethe scheduler type
useIdealRrctrue if use ideal RRC

Definition at line 107 of file lte-test-mimo.cc.

◆ ~LenaMimoTestCase()

LenaMimoTestCase::~LenaMimoTestCase ( )
override

Definition at line 119 of file lte-test-mimo.cc.

Member Function Documentation

◆ BuildNameString()

std::string LenaMimoTestCase::BuildNameString ( uint16_t  dist,
std::string  schedulerType,
bool  useIdealRrc 
)
staticprivate

Builds the test name string based on provided parameter values.

Parameters
distthe distance
schedulerTypethe scheduler type
useIdealRrcif true use the ideal RRC
Returns
the name string

Definition at line 91 of file lte-test-mimo.cc.

◆ DoRun()

◆ GetRlcBufferSample()

void LenaMimoTestCase::GetRlcBufferSample ( Ptr< RadioBearerStatsCalculator rlcStats,
uint64_t  imsi,
uint8_t  rnti 
)
private

Get RLC buffer sample.

Parameters
rlcStatsPtr<RadioBearerStatsCalculator>
imsithe IMSI
rntithe RNTI

Definition at line 292 of file lte-test-mimo.cc.

References m_dlDataRxed, ns3::Now(), and NS_LOG_INFO.

Referenced by DoRun().

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

Member Data Documentation

◆ m_dist

uint16_t LenaMimoTestCase::m_dist
private

the distance

Definition at line 77 of file lte-test-mimo.h.

Referenced by DoRun().

◆ m_dlDataRxed

std::vector<uint64_t> LenaMimoTestCase::m_dlDataRxed
private

DL data received.

Definition at line 82 of file lte-test-mimo.h.

Referenced by DoRun(), and GetRlcBufferSample().

◆ m_estThrDl

std::vector<uint32_t> LenaMimoTestCase::m_estThrDl
private

estimated throughput DL

Definition at line 78 of file lte-test-mimo.h.

Referenced by DoRun().

◆ m_schedulerType

std::string LenaMimoTestCase::m_schedulerType
private

the scheduler type

Definition at line 79 of file lte-test-mimo.h.

Referenced by DoRun().

◆ m_useIdealRrc

bool LenaMimoTestCase::m_useIdealRrc
private

whether to use the ideal RRC

Definition at line 80 of file lte-test-mimo.h.

Referenced by DoRun().


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