A Discrete-Event Network Simulator
API
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
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)
 
void AddTestCase (TestCase *testCase) NS_DEPRECATED
 Add an individual child TestCase case to this TestCase. More...
 
void AddTestCase (TestCase *testCase, enum TestDuration duration)
 Add an individual child TestCase to this test suite. More...
 
bool GetErrorStatus (void) const NS_DEPRECATED
 
TestCaseGetParent () const
 
bool IsStatusFailure (void) const
 
bool IsStatusSuccess (void) const
 
void SetDataDir (std::string directory)
 
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
 
bool MustContinueOnFailure (void) const
 
std::string CreateDataDirFilename (std::string filename)
 
std::string CreateTempDirFilename (std::string filename)
 

Detailed Description

Definition at line 54 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 157 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 131 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 595 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 185 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::InternetStackHelper::Install(), ns3::UdpClientHelper::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, NS_FATAL_ERROR, NS_LOG_FUNCTION, ns3::EpcTft::PacketFilter::remotePortEnd, ns3::EpcTft::PacketFilter::remotePortStart, ns3::Config::Reset(), SaveStats(), 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::olsr::SetVelocity(), ns3::ApplicationContainer::Start(), startTime, stopTime, and LteX2HandoverMeasuresTestCase::BearerData::ulSink.

void LteX2HandoverMeasuresTestCase::SaveStats ( uint32_t  ueIndex)
private

Definition at line 576 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 98 of file test-lte-x2-handover-measures.cc.

Referenced by DoRun().

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

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

Referenced by DoRun().

std::string LteX2HandoverMeasuresTestCase::m_checkPointEventListName
private

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

Referenced by DoRun().

bool LteX2HandoverMeasuresTestCase::m_epc
private

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

Referenced by DoRun().

Ptr<PointToPointEpcHelper> LteX2HandoverMeasuresTestCase::m_epcHelper
private

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

Referenced by DoRun().

std::string LteX2HandoverMeasuresTestCase::m_handoverAlgorithmType
private

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

Referenced by DoRun().

Ptr<LteHelper> LteX2HandoverMeasuresTestCase::m_lteHelper
private

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

Referenced by DoRun().

const Time LteX2HandoverMeasuresTestCase::m_maxHoDuration
private

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

uint32_t LteX2HandoverMeasuresTestCase::m_nDedicatedBearers
private

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

Referenced by CheckConnected(), and DoRun().

uint32_t LteX2HandoverMeasuresTestCase::m_nEnbs
private

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

Referenced by DoRun().

uint32_t LteX2HandoverMeasuresTestCase::m_nUes
private

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

Referenced by DoRun().

std::string LteX2HandoverMeasuresTestCase::m_schedulerType
private

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

Referenced by DoRun().

const Time LteX2HandoverMeasuresTestCase::m_statsDuration
private

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

Referenced by CheckStats(), and DoRun().

const Time LteX2HandoverMeasuresTestCase::m_udpClientInterval
private

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

Referenced by CheckStats(), and DoRun().

const uint32_t LteX2HandoverMeasuresTestCase::m_udpClientPktSize
private

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

Referenced by CheckStats(), and DoRun().

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

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

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

bool LteX2HandoverMeasuresTestCase::m_useIdealRrc
private

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

Referenced by DoRun().

bool LteX2HandoverMeasuresTestCase::m_useUdp
private

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

Referenced by DoRun().


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