addressed code review comments

This commit is contained in:
gauravsathe
2014-12-23 16:17:53 +05:30
parent ec697908bb
commit 067e28d8bc
15 changed files with 82 additions and 42 deletions

View File

@@ -12845,9 +12845,9 @@ def register_Ns3EpcHelper_methods(root_module, cls):
cls.add_constructor([param('ns3::EpcHelper const &', 'arg0')])
## epc-helper.h (module 'lte'): ns3::EpcHelper::EpcHelper() [constructor]
cls.add_constructor([])
## epc-helper.h (module 'lte'): void ns3::EpcHelper::ActivateEpsBearer(ns3::Ptr<ns3::NetDevice> ueLteDevice, uint64_t imsi, ns3::Ptr<ns3::EpcTft> tft, ns3::EpsBearer bearer) [member function]
## epc-helper.h (module 'lte'): uint8_t ns3::EpcHelper::ActivateEpsBearer(ns3::Ptr<ns3::NetDevice> ueLteDevice, uint64_t imsi, ns3::Ptr<ns3::EpcTft> tft, ns3::EpsBearer bearer) [member function]
cls.add_method('ActivateEpsBearer',
'void',
'uint8_t',
[param('ns3::Ptr< ns3::NetDevice >', 'ueLteDevice'), param('uint64_t', 'imsi'), param('ns3::Ptr< ns3::EpcTft >', 'tft'), param('ns3::EpsBearer', 'bearer')],
is_pure_virtual=True, is_virtual=True)
## epc-helper.h (module 'lte'): void ns3::EpcHelper::AddEnb(ns3::Ptr<ns3::Node> enbNode, ns3::Ptr<ns3::NetDevice> lteEnbNetDevice, uint16_t cellId) [member function]
@@ -15979,13 +15979,13 @@ def register_Ns3LteHelper_methods(root_module, cls):
cls.add_method('ActivateDataRadioBearer',
'void',
[param('ns3::Ptr< ns3::NetDevice >', 'ueDevice'), param('ns3::EpsBearer', 'bearer')])
## lte-helper.h (module 'lte'): void ns3::LteHelper::ActivateDedicatedEpsBearer(ns3::NetDeviceContainer ueDevices, ns3::EpsBearer bearer, ns3::Ptr<ns3::EpcTft> tft) [member function]
## lte-helper.h (module 'lte'): uint8_t ns3::LteHelper::ActivateDedicatedEpsBearer(ns3::NetDeviceContainer ueDevices, ns3::EpsBearer bearer, ns3::Ptr<ns3::EpcTft> tft) [member function]
cls.add_method('ActivateDedicatedEpsBearer',
'void',
'uint8_t',
[param('ns3::NetDeviceContainer', 'ueDevices'), param('ns3::EpsBearer', 'bearer'), param('ns3::Ptr< ns3::EpcTft >', 'tft')])
## lte-helper.h (module 'lte'): void ns3::LteHelper::ActivateDedicatedEpsBearer(ns3::Ptr<ns3::NetDevice> ueDevice, ns3::EpsBearer bearer, ns3::Ptr<ns3::EpcTft> tft) [member function]
## lte-helper.h (module 'lte'): uint8_t ns3::LteHelper::ActivateDedicatedEpsBearer(ns3::Ptr<ns3::NetDevice> ueDevice, ns3::EpsBearer bearer, ns3::Ptr<ns3::EpcTft> tft) [member function]
cls.add_method('ActivateDedicatedEpsBearer',
'void',
'uint8_t',
[param('ns3::Ptr< ns3::NetDevice >', 'ueDevice'), param('ns3::EpsBearer', 'bearer'), param('ns3::Ptr< ns3::EpcTft >', 'tft')])
## lte-helper.h (module 'lte'): void ns3::LteHelper::AddX2Interface(ns3::NodeContainer enbNodes) [member function]
cls.add_method('AddX2Interface',
@@ -18512,9 +18512,9 @@ def register_Ns3PointToPointEpcHelper_methods(root_module, cls):
cls.add_constructor([param('ns3::PointToPointEpcHelper const &', 'arg0')])
## point-to-point-epc-helper.h (module 'lte'): ns3::PointToPointEpcHelper::PointToPointEpcHelper() [constructor]
cls.add_constructor([])
## point-to-point-epc-helper.h (module 'lte'): void ns3::PointToPointEpcHelper::ActivateEpsBearer(ns3::Ptr<ns3::NetDevice> ueLteDevice, uint64_t imsi, ns3::Ptr<ns3::EpcTft> tft, ns3::EpsBearer bearer) [member function]
## point-to-point-epc-helper.h (module 'lte'): uint8_t ns3::PointToPointEpcHelper::ActivateEpsBearer(ns3::Ptr<ns3::NetDevice> ueLteDevice, uint64_t imsi, ns3::Ptr<ns3::EpcTft> tft, ns3::EpsBearer bearer) [member function]
cls.add_method('ActivateEpsBearer',
'void',
'uint8_t',
[param('ns3::Ptr< ns3::NetDevice >', 'ueLteDevice'), param('uint64_t', 'imsi'), param('ns3::Ptr< ns3::EpcTft >', 'tft'), param('ns3::EpsBearer', 'bearer')],
is_virtual=True)
## point-to-point-epc-helper.h (module 'lte'): void ns3::PointToPointEpcHelper::AddEnb(ns3::Ptr<ns3::Node> enbNode, ns3::Ptr<ns3::NetDevice> lteEnbNetDevice, uint16_t cellId) [member function]
@@ -20202,9 +20202,9 @@ def register_Ns3EmuEpcHelper_methods(root_module, cls):
cls.add_constructor([param('ns3::EmuEpcHelper const &', 'arg0')])
## emu-epc-helper.h (module 'lte'): ns3::EmuEpcHelper::EmuEpcHelper() [constructor]
cls.add_constructor([])
## emu-epc-helper.h (module 'lte'): void ns3::EmuEpcHelper::ActivateEpsBearer(ns3::Ptr<ns3::NetDevice> ueLteDevice, uint64_t imsi, ns3::Ptr<ns3::EpcTft> tft, ns3::EpsBearer bearer) [member function]
## emu-epc-helper.h (module 'lte'): uint8_t ns3::EmuEpcHelper::ActivateEpsBearer(ns3::Ptr<ns3::NetDevice> ueLteDevice, uint64_t imsi, ns3::Ptr<ns3::EpcTft> tft, ns3::EpsBearer bearer) [member function]
cls.add_method('ActivateEpsBearer',
'void',
'uint8_t',
[param('ns3::Ptr< ns3::NetDevice >', 'ueLteDevice'), param('uint64_t', 'imsi'), param('ns3::Ptr< ns3::EpcTft >', 'tft'), param('ns3::EpsBearer', 'bearer')],
is_virtual=True)
## emu-epc-helper.h (module 'lte'): void ns3::EmuEpcHelper::AddEnb(ns3::Ptr<ns3::Node> enbNode, ns3::Ptr<ns3::NetDevice> lteEnbNetDevice, uint16_t cellId) [member function]

View File

@@ -122,6 +122,34 @@ each element in the test vector.
System Tests
~~~~~~~~~~~~
Dedicated Bearer Deactivation Tests
-----------------------------------
The test suite lte-test-deactivate-bearer creates test case with single EnodeB and Three UEs.
Each UE consists of one Default and one Dedicated EPS bearer with same bearer specification but with different ARP.
Test Case Flow is as follows:
Attach UE -> Create Default+Dedicated Bearer -> Deactivate one of the Dedicated bearer
Test case further deactivates dedicated bearer having bearer ID 2(LCID=BearerId+2) of First UE (UE_ID=1)
User can schedule bearer deactivation after specific time delay using Simulator::Schedule () method.
Once the test case execution ends it will create DlRlcStats.txt and UlRlcStats.txt.
Key fields that need to be checked in statistics are:
|Start | end | Cell ID | IMSI | RNTI | LCID | TxBytes | RxBytes |
Test case executes in three epochs.
1) In first Epoch (0.04s-1.04s) All UEs and corresponding bearers gets attached
and packet flow over the dedicated bearers activated.
2) In second Epoch (1.04s-2.04s), bearer deactivation is instantiated, hence User can see
relatively less number of TxBytes on UE_ID=1 and LCID=4 as compared to other bearers.
3) In third Epoch (2.04s-3.04s) since bearer deactivation of UE_ID=1 and LCID=4 is completed,
user will not see any logging related to LCID=4.
Test case passes if and only if
1) IMSI=1 and LCID=4 completely removed in third epoch
2) No packets seen in TxBytes and RxBytes corresponding to IMSI=1 and LCID=4
If above criterion does not match test case considered to be failed
.. _sec-lte-amc-tests:
Adaptive Modulation and Coding Tests

View File

@@ -213,12 +213,16 @@ main (int argc, char *argv[])
rlcStats->SetAttribute ("StartTime", TimeValue (Seconds (statsStartTime)));
rlcStats->SetAttribute ("EpochDuration", TimeValue (Seconds (statsDuration)));
//get ue device pointer for UE-ID 0 IMSI 1 and enb device pointer
Ptr<NetDevice> ueDevice = ueLteDevs.Get (0);
Ptr<NetDevice> enbDevice = enbLteDevs.Get (0);
/*
* Schedule dedicated bearer de-activation at 'deActivateTime'
* Instantiate De-activation in sequence (Time deActivateTime, Ptr<NetDevice> ueDevice, Ptr<NetDevice> enbDevice, uint8_t bearerId)
* Instantiate De-activation using Simulator::Schedule() method which will initiate bearer de-activation after deActivateTime
* Instantiate De-activation in sequence (Time const &time, MEM mem_ptr, OBJ obj, T1 a1, T2 a2, T3 a3)
*/
Time deActivateTime (Seconds (1.5));
lteHelper->DeActivateDedicatedEpsBearer (deActivateTime,ueLteDevs.Get (0),enbLteDevs.Get (0), 2);
Simulator::Schedule (deActivateTime, &LteHelper::DeActivateDedicatedEpsBearer, lteHelper, ueDevice, enbDevice, 2);
//stop simulation after 3 seconds
Simulator::Stop (Seconds (3.0));

View File

@@ -311,7 +311,7 @@ EmuEpcHelper::AddUe (Ptr<NetDevice> ueDevice, uint64_t imsi)
}
void
uint8_t
EmuEpcHelper::ActivateEpsBearer (Ptr<NetDevice> ueDevice, uint64_t imsi, Ptr<EpcTft> tft, EpsBearer bearer)
{
NS_LOG_FUNCTION (this << ueDevice << imsi);
@@ -328,12 +328,13 @@ EmuEpcHelper::ActivateEpsBearer (Ptr<NetDevice> ueDevice, uint64_t imsi, Ptr<Epc
Ipv4Address ueAddr = ueIpv4->GetAddress (interface, 0).GetLocal ();
NS_LOG_LOGIC (" UE IP address: " << ueAddr); m_sgwPgwApp->SetUeAddress (imsi, ueAddr);
m_mme->AddBearer (imsi, tft, bearer);
uint8_t bearerId = m_mme->AddBearer (imsi, tft, bearer);
Ptr<LteUeNetDevice> ueLteDevice = ueDevice->GetObject<LteUeNetDevice> ();
if (ueLteDevice)
{
Simulator::ScheduleNow (&EpcUeNas::ActivateEpsBearer, ueLteDevice->GetNas (), bearer, tft);
}
return bearerId;
}

View File

@@ -71,7 +71,7 @@ public:
virtual void AddEnb (Ptr<Node> enbNode, Ptr<NetDevice> lteEnbNetDevice, uint16_t cellId);
virtual void AddUe (Ptr<NetDevice> ueLteDevice, uint64_t imsi);
virtual void AddX2Interface (Ptr<Node> enbNode1, Ptr<Node> enbNode2);
virtual void ActivateEpsBearer (Ptr<NetDevice> ueLteDevice, uint64_t imsi, Ptr<EpcTft> tft, EpsBearer bearer);
virtual uint8_t ActivateEpsBearer (Ptr<NetDevice> ueLteDevice, uint64_t imsi, Ptr<EpcTft> tft, EpsBearer bearer);
virtual Ptr<Node> GetPgwNode ();
virtual Ipv4InterfaceContainer AssignUeIpv4Address (NetDeviceContainer ueDevices);
virtual Ipv4Address GetUeDefaultGatewayAddress ();

View File

@@ -101,7 +101,7 @@ public:
* \param tft the Traffic Flow Template of the new bearer
* \param bearer struct describing the characteristics of the EPS bearer to be activated
*/
virtual void ActivateEpsBearer (Ptr<NetDevice> ueLteDevice, uint64_t imsi, Ptr<EpcTft> tft, EpsBearer bearer) = 0;
virtual uint8_t ActivateEpsBearer (Ptr<NetDevice> ueLteDevice, uint64_t imsi, Ptr<EpcTft> tft, EpsBearer bearer) = 0;
/**

View File

@@ -813,18 +813,20 @@ LteHelper::AttachToClosestEnb (Ptr<NetDevice> ueDevice, NetDeviceContainer enbDe
Attach (ueDevice, closestEnbDevice);
}
void
uint8_t
LteHelper::ActivateDedicatedEpsBearer (NetDeviceContainer ueDevices, EpsBearer bearer, Ptr<EpcTft> tft)
{
NS_LOG_FUNCTION (this);
for (NetDeviceContainer::Iterator i = ueDevices.Begin (); i != ueDevices.End (); ++i)
{
ActivateDedicatedEpsBearer (*i, bearer, tft);
uint8_t bearerId = ActivateDedicatedEpsBearer (*i, bearer, tft);
return bearerId;
}
return 0;
}
void
uint8_t
LteHelper::ActivateDedicatedEpsBearer (Ptr<NetDevice> ueDevice, EpsBearer bearer, Ptr<EpcTft> tft)
{
NS_LOG_FUNCTION (this);
@@ -832,7 +834,8 @@ LteHelper::ActivateDedicatedEpsBearer (Ptr<NetDevice> ueDevice, EpsBearer bearer
NS_ASSERT_MSG (m_epcHelper != 0, "dedicated EPS bearers cannot be set up when the EPC is not used");
uint64_t imsi = ueDevice->GetObject<LteUeNetDevice> ()->GetImsi ();
m_epcHelper->ActivateEpsBearer (ueDevice, imsi, tft, bearer);
uint8_t bearerId = m_epcHelper->ActivateEpsBearer (ueDevice, imsi, tft, bearer);
return bearerId;
}
class DrbActivator : public SimpleRefCount<DrbActivator>
@@ -956,13 +959,13 @@ LteHelper::DoHandoverRequest (Ptr<NetDevice> ueDev, Ptr<NetDevice> sourceEnbDev,
}
void
LteHelper::DeActivateDedicatedEpsBearer (Time deActivateTime, Ptr<NetDevice> ueDevice,Ptr<NetDevice> enbDevice, uint8_t bearerId)
LteHelper::DeActivateDedicatedEpsBearer (Ptr<NetDevice> ueDevice,Ptr<NetDevice> enbDevice, uint8_t bearerId)
{
NS_LOG_FUNCTION (this << ueDevice << bearerId);
NS_ASSERT_MSG (m_epcHelper != 0, "Dedicated EPS bearers cannot be de-activated when the EPC is not used");
NS_ASSERT_MSG (bearerId != 1, "Default bearer cannot be de-activated until and unless and UE is released");
Simulator::Schedule (deActivateTime, &LteHelper::DoDeActivateDedicatedEpsBearer, this, ueDevice, enbDevice, bearerId);
DoDeActivateDedicatedEpsBearer (ueDevice, enbDevice, bearerId);
}
void

View File

@@ -397,7 +397,7 @@ public:
* \param bearer the characteristics of the bearer to be activated
* \param tft the Traffic Flow Template that identifies the traffic to go on this bearer
*/
void ActivateDedicatedEpsBearer (NetDeviceContainer ueDevices, EpsBearer bearer, Ptr<EpcTft> tft);
uint8_t ActivateDedicatedEpsBearer (NetDeviceContainer ueDevices, EpsBearer bearer, Ptr<EpcTft> tft);
/**
* Activate a dedicated EPS bearer on a given UE device.
@@ -406,11 +406,10 @@ public:
* \param bearer the characteristics of the bearer to be activated
* \param tft the Traffic Flow Template that identifies the traffic to go on this bearer.
*/
void ActivateDedicatedEpsBearer (Ptr<NetDevice> ueDevice, EpsBearer bearer, Ptr<EpcTft> tft);
uint8_t ActivateDedicatedEpsBearer (Ptr<NetDevice> ueDevice, EpsBearer bearer, Ptr<EpcTft> tft);
/**
* \brief Manually trigger dedicated bearer de-activation at specific simulation time
* \param deActivateTime when the dedicated bearer de-activation to be initiated
* \param ueDevice the UE on which dedicated bearer to be de-activated must be of the type LteUeNetDevice
* \param enbDevice eNB, must be of the type LteEnbNetDevice
* \param bearerId Bearer Identity which is to be de-activated
@@ -418,7 +417,7 @@ public:
* \warning Requires the use of EPC mode. See SetEpcHelper() method.
*/
void DeActivateDedicatedEpsBearer (Time deActivateTime, Ptr<NetDevice> ueDevice, Ptr<NetDevice> enbDevice, uint8_t bearerId);
void DeActivateDedicatedEpsBearer (Ptr<NetDevice> ueDevice, Ptr<NetDevice> enbDevice, uint8_t bearerId);
/**
* Create an X2 interface between all the eNBs in a given set.
*

View File

@@ -292,7 +292,7 @@ PointToPointEpcHelper::AddUe (Ptr<NetDevice> ueDevice, uint64_t imsi)
}
void
uint8_t
PointToPointEpcHelper::ActivateEpsBearer (Ptr<NetDevice> ueDevice, uint64_t imsi, Ptr<EpcTft> tft, EpsBearer bearer)
{
NS_LOG_FUNCTION (this << ueDevice << imsi);
@@ -309,12 +309,13 @@ PointToPointEpcHelper::ActivateEpsBearer (Ptr<NetDevice> ueDevice, uint64_t imsi
Ipv4Address ueAddr = ueIpv4->GetAddress (interface, 0).GetLocal ();
NS_LOG_LOGIC (" UE IP address: " << ueAddr); m_sgwPgwApp->SetUeAddress (imsi, ueAddr);
m_mme->AddBearer (imsi, tft, bearer);
uint8_t bearerId = m_mme->AddBearer (imsi, tft, bearer);
Ptr<LteUeNetDevice> ueLteDevice = ueDevice->GetObject<LteUeNetDevice> ();
if (ueLteDevice)
{
ueLteDevice->GetNas ()->ActivateEpsBearer (bearer, tft);
}
return bearerId;
}

View File

@@ -69,7 +69,7 @@ public:
virtual void AddEnb (Ptr<Node> enbNode, Ptr<NetDevice> lteEnbNetDevice, uint16_t cellId);
virtual void AddUe (Ptr<NetDevice> ueLteDevice, uint64_t imsi);
virtual void AddX2Interface (Ptr<Node> enbNode1, Ptr<Node> enbNode2);
virtual void ActivateEpsBearer (Ptr<NetDevice> ueLteDevice, uint64_t imsi, Ptr<EpcTft> tft, EpsBearer bearer);
virtual uint8_t ActivateEpsBearer (Ptr<NetDevice> ueLteDevice, uint64_t imsi, Ptr<EpcTft> tft, EpsBearer bearer);
virtual Ptr<Node> GetPgwNode ();
virtual Ipv4InterfaceContainer AssignUeIpv4Address (NetDeviceContainer ueDevices);
virtual Ipv4Address GetUeDefaultGatewayAddress ();

View File

@@ -104,7 +104,7 @@ EpcMme::AddUe (uint64_t imsi)
ueInfo->bearerCounter = 0;
}
void
uint8_t
EpcMme::AddBearer (uint64_t imsi, Ptr<EpcTft> tft, EpsBearer bearer)
{
NS_LOG_FUNCTION (this << imsi);
@@ -116,6 +116,7 @@ EpcMme::AddBearer (uint64_t imsi, Ptr<EpcTft> tft, EpsBearer bearer)
bearerInfo.tft = tft;
bearerInfo.bearer = bearer;
it->second->bearersToBeActivated.push_back (bearerInfo);
return bearerInfo.bearerId;
}

View File

@@ -106,7 +106,7 @@ public:
* \param tft traffic flow template of the bearer
* \param bearer QoS characteristics of the bearer
*/
void AddBearer (uint64_t imsi, Ptr<EpcTft> tft, EpsBearer bearer);
uint8_t AddBearer (uint64_t imsi, Ptr<EpcTft> tft, EpsBearer bearer);
private:

View File

@@ -71,6 +71,7 @@ public:
/**
* \brief As per 3GPP TS 23.401 Release 9 V9.5.0 Figure 5.4.4.2-1 eNB sends indication of Bearer Release to MME
* \brief As per 3GPP TS version 9.8.0 section 8.2.3.2.2, the eNB initiates the procedure by sending an E-RAB RELEASE INDICATION message towards MME
* \param mmeUeS1Id in practice, we use the IMSI
* \param enbUeS1Id in practice, we use the RNTI
* \param erabToBeReleaseIndication, List of bearers to be deactivated

View File

@@ -91,7 +91,7 @@ LenaTestBearerDeactivateSuite::LenaTestBearerDeactivateSuite ()
estThrPssDl_1.push_back (132000); // User 1 estimated TTI throughput from PSS
estThrPssDl_1.push_back (132000); // User 2 estimated TTI throughput from PSS
AddTestCase (new LenaDeactivateBearerTestCase (dist_1,estThrPssDl_1,packetSize_1,1,errorModel), TestCase::QUICK);
AddTestCase (new LenaDeactivateBearerTestCase (dist_1,estThrPssDl_1,packetSize_1,1,errorModel,true), TestCase::QUICK);
}
static LenaTestBearerDeactivateSuite lenaTestBearerDeactivateSuite;
@@ -110,14 +110,15 @@ LenaDeactivateBearerTestCase::BuildNameString (uint16_t nUser, std::vector<uint1
return oss.str ();
}
LenaDeactivateBearerTestCase::LenaDeactivateBearerTestCase (std::vector<uint16_t> dist, std::vector<uint32_t> estThrPssDl, std::vector<uint16_t> packetSize, uint16_t interval,bool errorModelEnabled)
LenaDeactivateBearerTestCase::LenaDeactivateBearerTestCase (std::vector<uint16_t> dist, std::vector<uint32_t> estThrPssDl, std::vector<uint16_t> packetSize, uint16_t interval,bool errorModelEnabled, bool useIdealRrc)
: TestCase (BuildNameString (dist.size (), dist)),
m_nUser (dist.size ()),
m_dist (dist),
m_packetSize (packetSize),
m_interval (interval),
m_estThrPssDl (estThrPssDl),
m_errorModelEnabled (errorModelEnabled)
m_errorModelEnabled (errorModelEnabled),
m_useIdealRrc (useIdealRrc)
{
}
@@ -292,16 +293,16 @@ LenaDeactivateBearerTestCase::DoRun (void)
rlcStats->SetAttribute ("EpochDuration", TimeValue (Seconds (statsDuration)));
//get ue device pointer for UE-ID 0 IMSI 1
//get ue device pointer for UE-ID 0 IMSI 1 and enb device pointer
Ptr<NetDevice> ueDevice = ueDevs.Get (0);
Time deActivateTime (Seconds (1.5));
Ptr<NetDevice> enbDevice = enbDevs.Get (0);
/*
* Schedule dedicated bearer de-activation at 'deActivateTime'
* Instantiate De-activation in sequence (Time deActivateTime, Ptr<NetDevice> ueDevice, Ptr<NetDevice> enbDevice, uint8_t bearerId)
* Instantiate De-activation using Simulator::Schedule() method which will initiate bearer de-activation after deActivateTime
* Instantiate De-activation in sequence (Time const &time, MEM mem_ptr, OBJ obj, T1 a1, T2 a2, T3 a3)
*/
lteHelper->DeActivateDedicatedEpsBearer (deActivateTime,ueDevice,enbDevs.Get (0), 2);
Time deActivateTime (Seconds (1.5));
Simulator::Schedule (deActivateTime, &LteHelper::DeActivateDedicatedEpsBearer, lteHelper, ueDevice, enbDevice, 2);
//stop simulation after 3 seconds
Simulator::Stop (Seconds (3.0));

View File

@@ -10,7 +10,7 @@ namespace ns3 {
class LenaDeactivateBearerTestCase : public TestCase
{
public:
LenaDeactivateBearerTestCase (std::vector<uint16_t> dist, std::vector<uint32_t> estThrPssDl, std::vector<uint16_t> packetSize, uint16_t interval, bool errorModelEnabled);
LenaDeactivateBearerTestCase (std::vector<uint16_t> dist, std::vector<uint32_t> estThrPssDl, std::vector<uint16_t> packetSize, uint16_t interval, bool errorModelEnabled, bool useIdealRrc);
virtual ~LenaDeactivateBearerTestCase ();
private:
@@ -22,6 +22,7 @@ private:
uint16_t m_interval; // ms
std::vector<uint32_t> m_estThrPssDl;
bool m_errorModelEnabled;
bool m_useIdealRrc;
};