A Discrete-Event Network Simulator
API
Public Member Functions | Static Public Member Functions | Private Attributes | List of all members
ns3::DrbActivator Class Reference

DrbActivatior allows user to activate bearers for UEs when EPC is not used. More...

+ Inheritance diagram for ns3::DrbActivator:

Public Member Functions

 DrbActivator (Ptr< NetDevice > ueDevice, EpsBearer bearer)
 DrbActivator Constructor. More...
 
void ActivateDrb (uint64_t imsi, uint16_t cellId, uint16_t rnti)
 Procedure firstly checks if bearer was not activated, if IMSI from trace source equals configured one and if UE is really in RRC connected state. More...
 
- Public Member Functions inherited from ns3::SimpleRefCount< DrbActivator >
 SimpleRefCount ()
 Default constructor. More...
 
 SimpleRefCount (const SimpleRefCount &o)
 Copy constructor. More...
 
uint32_t GetReferenceCount (void) const
 Get the reference count of the object. More...
 
SimpleRefCountoperator= (const SimpleRefCount &o)
 Assignment operator. More...
 
void Ref (void) const
 Increment the reference count. More...
 
void Unref (void) const
 Decrement the reference count. More...
 

Static Public Member Functions

static void ActivateCallback (Ptr< DrbActivator > a, std::string context, uint64_t imsi, uint16_t cellId, uint16_t rnti)
 Function hooked to the Enb RRC Connection Established trace source Fired upon successful RRC connection establishment. More...
 

Private Attributes

bool m_active
 Bearer can be activated only once. More...
 
EpsBearer m_bearer
 Configuration of bearer which will be activated. More...
 
uint64_t m_imsi
 imsi the unique UE identifier More...
 
Ptr< NetDevicem_ueDevice
 UeNetDevice for which bearer will be activated. More...
 

Detailed Description

DrbActivatior allows user to activate bearers for UEs when EPC is not used.

Activation function is hooked to the Enb RRC Connection Estabilished trace source. When UE change its RRC state to CONNECTED_NORMALLY, activation function is called and bearer is activated.

Definition at line 1098 of file lte-helper.cc.

Constructor & Destructor Documentation

◆ DrbActivator()

ns3::DrbActivator::DrbActivator ( Ptr< NetDevice ueDevice,
EpsBearer  bearer 
)

DrbActivator Constructor.

Parameters
ueDevicethe UeNetDevice for which bearer will be activated
bearerthe bearer configuration

Definition at line 1153 of file lte-helper.cc.

Member Function Documentation

◆ ActivateCallback()

void ns3::DrbActivator::ActivateCallback ( Ptr< DrbActivator a,
std::string  context,
uint64_t  imsi,
uint16_t  cellId,
uint16_t  rnti 
)
static

Function hooked to the Enb RRC Connection Established trace source Fired upon successful RRC connection establishment.

Parameters
aDrbActivator object
context
imsi
cellId
rnti

Definition at line 1162 of file lte-helper.cc.

References NS_LOG_FUNCTION.

Referenced by ns3::LteHelper::ActivateDataRadioBearer().

◆ ActivateDrb()

void ns3::DrbActivator::ActivateDrb ( uint64_t  imsi,
uint16_t  cellId,
uint16_t  rnti 
)

Procedure firstly checks if bearer was not activated, if IMSI from trace source equals configured one and if UE is really in RRC connected state.

If all requirements are met, it performs bearer activation.

Parameters
imsi
cellId
rnti

Definition at line 1169 of file lte-helper.cc.

References ns3::UeManager::CONNECTED_NORMALLY, ns3::LteUeRrc::CONNECTED_NORMALLY, ns3::UeManager::CONNECTION_RECONFIGURATION, ns3::LteEnbNetDevice::GetCellId(), ns3::Object::GetObject(), m_active, m_bearer, m_imsi, m_ueDevice, NS_ASSERT, NS_LOG_FUNCTION, and ns3::EpcEnbS1SapUser::DataRadioBearerSetupRequestParameters::rnti.

Member Data Documentation

◆ m_active

bool ns3::DrbActivator::m_active
private

Bearer can be activated only once.

This value stores state of bearer. Initially is set to false and changed to true during bearer activation.

Definition at line 1138 of file lte-helper.cc.

Referenced by ActivateDrb().

◆ m_bearer

EpsBearer ns3::DrbActivator::m_bearer
private

Configuration of bearer which will be activated.

Definition at line 1146 of file lte-helper.cc.

Referenced by ActivateDrb().

◆ m_imsi

uint64_t ns3::DrbActivator::m_imsi
private

imsi the unique UE identifier

Definition at line 1150 of file lte-helper.cc.

Referenced by ActivateDrb().

◆ m_ueDevice

Ptr<NetDevice> ns3::DrbActivator::m_ueDevice
private

UeNetDevice for which bearer will be activated.

Definition at line 1142 of file lte-helper.cc.

Referenced by ActivateDrb().


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