A Discrete-Event Network Simulator
API
LteX2HandoverMeasuresTestCase Class Reference
+ Inheritance diagram for LteX2HandoverMeasuresTestCase:
+ Collaboration diagram for LteX2HandoverMeasuresTestCase:

Classes

struct  BearerData
 
struct  UeData
 

Public Member Functions

 LteX2HandoverMeasuresTestCase (uint32_t nEnbs, uint32_t nUes, uint32_t nDedicatedBearers, std::list< CheckPointEvent > checkPointEventList, std::string checkPointEventListName, bool useUdp, std::string schedulerType, std::string handoverAlgorithmType, bool admitHo, bool useIdealRrc)
 
- Public Member Functions inherited from ns3::TestCase
virtual ~TestCase ()
 Destructor. More...
 
std::string GetName (void) const
 

Private Member Functions

void CheckConnected (Ptr< NetDevice > ueDevice, Ptr< NetDevice > enbDevice)
 
void CheckStats (uint32_t ueIndex)
 
virtual void DoRun (void)
 Implementation to actually run this TestCase. More...
 
void SaveStats (uint32_t ueIndex)
 

Static Private Member Functions

static std::string BuildNameString (uint32_t nEnbs, uint32_t nUes, uint32_t nDedicatedBearers, std::string checkPointEventListName, bool useUdp, std::string schedulerType, std::string handoverAlgorithmType, bool admitHo, bool useIdealRrc)
 

Private Attributes

bool m_admitHo
 
std::list< CheckPointEventm_checkPointEventList
 
std::string m_checkPointEventListName
 
bool m_epc
 
Ptr< PointToPointEpcHelperm_epcHelper
 
std::string m_handoverAlgorithmType
 
Ptr< LteHelperm_lteHelper
 
const Time m_maxHoDuration
 
uint32_t m_nDedicatedBearers
 
uint32_t m_nEnbs
 
uint32_t m_nUes
 
std::string m_schedulerType
 
const Time m_statsDuration
 
const Time m_udpClientInterval
 
const uint32_t m_udpClientPktSize
 
std::vector< UeDatam_ueDataVector
 
bool m_useIdealRrc
 
bool m_useUdp
 

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, enum TestDuration duration)
 Add an individual child TestCase to this test suite. More...
 
TestCaseGetParent () const
 Get the parent of this TestCsse. More...
 
bool IsStatusFailure (void) const
 Check if any tests failed. More...
 
bool IsStatusSuccess (void) 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 (void) const
 Check if this run should assert on failure. More...
 
bool MustContinueOnFailure (void) 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

Definition at line 53 of file test-lte-x2-handover-measures.cc.

Constructor & Destructor Documentation

LteX2HandoverMeasuresTestCase::LteX2HandoverMeasuresTestCase ( uint32_t  nEnbs,
uint32_t  nUes,
uint32_t  nDedicatedBearers,
std::list< CheckPointEvent checkPointEventList,
std::string  checkPointEventListName,
bool  useUdp,
std::string  schedulerType,
std::string  handoverAlgorithmType,
bool  admitHo,
bool  useIdealRrc 
)
Parameters
nEnbsnumber of eNBs in the test
nUesnumber of UEs in the test
nDedicatedBearersnumber of bearers to be activated per UE
checkPointEventList
checkPointEventListName
useUdptrue if UDP is to be used, false if TCP is to be used
schedulerTypetype of scheduler to be used (e.g. "ns3::PfFfMacScheduler")
handoverAlgorithmTypetype of handover algorithm to be used (e.g. "ns3::A3RsrpHandoverAlgorithm")
admitHo
useIdealRrctrue if ideal RRC is to be used, false if real RRC is to be used
Returns

Definition at line 156 of file test-lte-x2-handover-measures.cc.

Member Function Documentation

std::string LteX2HandoverMeasuresTestCase::BuildNameString ( uint32_t  nEnbs,
uint32_t  nUes,
uint32_t  nDedicatedBearers,
std::string  checkPointEventListName,
bool  useUdp,
std::string  schedulerType,
std::string  handoverAlgorithmType,
bool  admitHo,
bool  useIdealRrc 
)
staticprivate

Definition at line 130 of file test-lte-x2-handover-measures.cc.

Referenced by DoRun().

+ Here is the caller graph for this function:

void LteX2HandoverMeasuresTestCase::CheckStats ( uint32_t  ueIndex)
private

Definition at line 596 of file test-lte-x2-handover-measures.cc.

References ns3::Time::GetSeconds(), m_statsDuration, m_udpClientInterval, m_udpClientPktSize, m_ueDataVector, NS_LOG_FUNCTION, NS_LOG_LOGIC, and NS_TEST_ASSERT_MSG_GT.

Referenced by DoRun().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void LteX2HandoverMeasuresTestCase::DoRun ( void  )
privatevirtual

Implementation to actually run this TestCase.

Subclasses should override this method to conduct their tests.

Implements ns3::TestCase.

Definition at line 184 of file test-lte-x2-handover-measures.cc.

References ns3::LteHelper::ActivateDataRadioBearer(), ns3::LteHelper::ActivateDedicatedEpsBearer(), ns3::ListPositionAllocator::Add(), ns3::EpcTft::Add(), ns3::ApplicationContainer::Add(), ns3::Ipv4StaticRouting::AddNetworkRouteTo(), ns3::LteHelper::AddX2Interface(), ns3::Ipv4AddressHelper::Assign(), ns3::LteHelper::AssignStreams(), ns3::PointToPointEpcHelper::AssignUeIpv4Address(), ns3::LteHelper::Attach(), LteX2HandoverMeasuresTestCase::UeData::bearerDataList, ns3::NetDeviceContainer::Begin(), BuildNameString(), CheckConnected(), CheckStats(), first::clientApps, ns3::NodeContainer::Create(), LteX2HandoverMeasuresTestCase::BearerData::dlSink, ns3::NetDeviceContainer::End(), ns3::ApplicationContainer::Get(), ns3::NetDeviceContainer::Get(), ns3::NodeContainer::Get(), ns3::Ipv4InterfaceContainer::GetAddress(), ns3::NetDeviceContainer::GetN(), ns3::NodeContainer::GetN(), ns3::Object::GetObject(), ns3::PointToPointEpcHelper::GetPgwNode(), ns3::Ipv4StaticRoutingHelper::GetStaticRouting(), ns3::PointToPointEpcHelper::GetUeDefaultGatewayAddress(), ns3::UniformRandomVariable::GetValue(), ns3::PacketSinkHelper::Install(), ns3::BulkSendHelper::Install(), ns3::PointToPointHelper::Install(), ns3::UdpClientHelper::Install(), ns3::InternetStackHelper::Install(), ns3::MobilityHelper::Install(), ns3::LteHelper::InstallEnbDevice(), ns3::LteHelper::InstallUeDevice(), ns3::EpcTft::PacketFilter::localPortEnd, ns3::EpcTft::PacketFilter::localPortStart, m_admitHo, m_checkPointEventList, m_checkPointEventListName, m_epc, m_epcHelper, m_handoverAlgorithmType, m_lteHelper, m_nDedicatedBearers, m_nEnbs, m_nUes, m_schedulerType, m_statsDuration, m_udpClientInterval, m_udpClientPktSize, m_ueDataVector, m_useIdealRrc, m_useUdp, ns3::MilliSeconds(), NS_FATAL_ERROR, NS_LOG_FUNCTION, ns3::EpcTft::PacketFilter::remotePortEnd, ns3::EpcTft::PacketFilter::remotePortStart, ns3::Config::Reset(), SaveStats(), ns3::Seconds(), first::serverApps, ns3::BulkSendHelper::SetAttribute(), ns3::ObjectBase::SetAttribute(), ns3::Ipv4AddressHelper::SetBase(), ns3::PointToPointHelper::SetChannelAttribute(), ns3::Config::SetDefault(), ns3::Ipv4StaticRouting::SetDefaultRoute(), ns3::PointToPointHelper::SetDeviceAttribute(), ns3::LteHelper::SetEpcHelper(), ns3::LteHelper::SetHandoverAlgorithmAttribute(), ns3::LteHelper::SetHandoverAlgorithmType(), ns3::MobilityHelper::SetMobilityModel(), SetPosition(), ns3::MobilityHelper::SetPositionAllocator(), ns3::LteHelper::SetSchedulerType(), ns3::RandomVariableStream::SetStream(), ns3::ApplicationContainer::Start(), startTime, stopTime, and LteX2HandoverMeasuresTestCase::BearerData::ulSink.

void LteX2HandoverMeasuresTestCase::SaveStats ( uint32_t  ueIndex)
private

Definition at line 577 of file test-lte-x2-handover-measures.cc.

References m_ueDataVector, and NS_LOG_FUNCTION.

Referenced by DoRun().

+ Here is the caller graph for this function:

Member Data Documentation

bool LteX2HandoverMeasuresTestCase::m_admitHo
private

Definition at line 97 of file test-lte-x2-handover-measures.cc.

Referenced by DoRun().

std::list<CheckPointEvent> LteX2HandoverMeasuresTestCase::m_checkPointEventList
private

Definition at line 91 of file test-lte-x2-handover-measures.cc.

Referenced by DoRun().

std::string LteX2HandoverMeasuresTestCase::m_checkPointEventListName
private

Definition at line 92 of file test-lte-x2-handover-measures.cc.

Referenced by DoRun().

bool LteX2HandoverMeasuresTestCase::m_epc
private

Definition at line 93 of file test-lte-x2-handover-measures.cc.

Referenced by DoRun().

Ptr<PointToPointEpcHelper> LteX2HandoverMeasuresTestCase::m_epcHelper
private

Definition at line 100 of file test-lte-x2-handover-measures.cc.

Referenced by DoRun().

std::string LteX2HandoverMeasuresTestCase::m_handoverAlgorithmType
private

Definition at line 96 of file test-lte-x2-handover-measures.cc.

Referenced by DoRun().

Ptr<LteHelper> LteX2HandoverMeasuresTestCase::m_lteHelper
private

Definition at line 99 of file test-lte-x2-handover-measures.cc.

Referenced by DoRun().

const Time LteX2HandoverMeasuresTestCase::m_maxHoDuration
private

Definition at line 122 of file test-lte-x2-handover-measures.cc.

uint32_t LteX2HandoverMeasuresTestCase::m_nDedicatedBearers
private

Definition at line 90 of file test-lte-x2-handover-measures.cc.

Referenced by CheckConnected(), and DoRun().

uint32_t LteX2HandoverMeasuresTestCase::m_nEnbs
private

Definition at line 88 of file test-lte-x2-handover-measures.cc.

Referenced by DoRun().

uint32_t LteX2HandoverMeasuresTestCase::m_nUes
private

Definition at line 89 of file test-lte-x2-handover-measures.cc.

Referenced by DoRun().

std::string LteX2HandoverMeasuresTestCase::m_schedulerType
private

Definition at line 95 of file test-lte-x2-handover-measures.cc.

Referenced by DoRun().

const Time LteX2HandoverMeasuresTestCase::m_statsDuration
private

Definition at line 123 of file test-lte-x2-handover-measures.cc.

Referenced by CheckStats(), and DoRun().

const Time LteX2HandoverMeasuresTestCase::m_udpClientInterval
private

Definition at line 124 of file test-lte-x2-handover-measures.cc.

Referenced by CheckStats(), and DoRun().

const uint32_t LteX2HandoverMeasuresTestCase::m_udpClientPktSize
private

Definition at line 125 of file test-lte-x2-handover-measures.cc.

Referenced by CheckStats(), and DoRun().

std::vector<UeData> LteX2HandoverMeasuresTestCase::m_ueDataVector
private

Definition at line 120 of file test-lte-x2-handover-measures.cc.

Referenced by CheckStats(), DoRun(), and SaveStats().

bool LteX2HandoverMeasuresTestCase::m_useIdealRrc
private

Definition at line 98 of file test-lte-x2-handover-measures.cc.

Referenced by DoRun().

bool LteX2HandoverMeasuresTestCase::m_useUdp
private

Definition at line 94 of file test-lte-x2-handover-measures.cc.

Referenced by DoRun().


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