A Discrete-Event Network Simulator
API
ns3::LteUeRrcProtocolIdeal Class Reference

Models the transmission of RRC messages from the UE to the eNB in an ideal fashion, without errors and without consuming any radio resources. More...

#include "lte-rrc-protocol-ideal.h"

+ Inheritance diagram for ns3::LteUeRrcProtocolIdeal:
+ Collaboration diagram for ns3::LteUeRrcProtocolIdeal:

Public Member Functions

 LteUeRrcProtocolIdeal ()
 
 ~LteUeRrcProtocolIdeal () override
 
void DoDispose () override
 Destructor implementation. More...
 
LteUeRrcSapUserGetLteUeRrcSapUser ()
 Get LTE UE RRC SAP user function. More...
 
void SetLteUeRrcSapProvider (LteUeRrcSapProvider *p)
 Set LTE UE RRC SAP provider function. More...
 
void SetUeRrc (Ptr< LteUeRrc > rrc)
 Set LTE UE RRC function. More...
 
- Public Member Functions inherited from ns3::Object
 Object ()
 Constructor. More...
 
 ~Object () override
 Destructor. More...
 
void AggregateObject (Ptr< Object > other)
 Aggregate two Objects together. More...
 
void Dispose ()
 Dispose of this Object. More...
 
AggregateIterator GetAggregateIterator () const
 Get an iterator to the Objects aggregated to this one. More...
 
TypeId GetInstanceTypeId () const override
 Get the most derived TypeId for this Object. More...
 
template<typename T >
Ptr< T > GetObject () const
 Get a pointer to the requested aggregated Object. More...
 
template<>
Ptr< ObjectGetObject () const
 Specialization of () for objects of type ns3::Object. More...
 
template<typename T >
Ptr< T > GetObject (TypeId tid) const
 Get a pointer to the requested aggregated Object by TypeId. More...
 
template<>
Ptr< ObjectGetObject (TypeId tid) const
 Specialization of (TypeId tid) for objects of type ns3::Object. More...
 
void Initialize ()
 Invoke DoInitialize on all Objects aggregated to this one. More...
 
bool IsInitialized () const
 Check if the object has been initialized. More...
 
- Public Member Functions inherited from ns3::SimpleRefCount< Object, ObjectBase, ObjectDeleter >
 SimpleRefCount ()
 Default constructor. More...
 
 SimpleRefCount (const SimpleRefCount &o[[maybe_unused]])
 Copy constructor. More...
 
uint32_t GetReferenceCount () const
 Get the reference count of the object. More...
 
SimpleRefCountoperator= (const SimpleRefCount &o[[maybe_unused]])
 Assignment operator. More...
 
void Ref () const
 Increment the reference count. More...
 
void Unref () const
 Decrement the reference count. More...
 
- Public Member Functions inherited from ns3::ObjectBase
virtual ~ObjectBase ()
 Virtual destructor. More...
 
void GetAttribute (std::string name, AttributeValue &value) const
 Get the value of an attribute, raising fatal errors if unsuccessful. More...
 
bool GetAttributeFailSafe (std::string name, AttributeValue &value) const
 Get the value of an attribute without raising errors. More...
 
void SetAttribute (std::string name, const AttributeValue &value)
 Set a single attribute, raising fatal errors if unsuccessful. More...
 
bool SetAttributeFailSafe (std::string name, const AttributeValue &value)
 Set a single attribute without raising errors. More...
 
bool TraceConnect (std::string name, std::string context, const CallbackBase &cb)
 Connect a TraceSource to a Callback with a context. More...
 
bool TraceConnectWithoutContext (std::string name, const CallbackBase &cb)
 Connect a TraceSource to a Callback without a context. More...
 
bool TraceDisconnect (std::string name, std::string context, const CallbackBase &cb)
 Disconnect from a TraceSource a Callback previously connected with a context. More...
 
bool TraceDisconnectWithoutContext (std::string name, const CallbackBase &cb)
 Disconnect from a TraceSource a Callback previously connected without a context. More...
 

Static Public Member Functions

static TypeId GetTypeId ()
 Get the type ID. More...
 
- Static Public Member Functions inherited from ns3::Object
static TypeId GetTypeId ()
 Register this type. More...
 
- Static Public Member Functions inherited from ns3::ObjectBase
static TypeId GetTypeId ()
 Get the type ID. More...
 

Private Member Functions

void DoSendIdealUeContextRemoveRequest (uint16_t rnti)
 Send Ideal UE context remove request function. More...
 
void DoSendMeasurementReport (LteRrcSap::MeasurementReport msg)
 Send measurement report function. More...
 
void DoSendRrcConnectionReconfigurationCompleted (LteRrcSap::RrcConnectionReconfigurationCompleted msg)
 Send RRC connection reconfiguration completed function. More...
 
void DoSendRrcConnectionReestablishmentComplete (LteRrcSap::RrcConnectionReestablishmentComplete msg)
 Send RRC connection reestablishment complete function. More...
 
void DoSendRrcConnectionReestablishmentRequest (LteRrcSap::RrcConnectionReestablishmentRequest msg)
 Send RRC connection reestablishment request function. More...
 
void DoSendRrcConnectionRequest (LteRrcSap::RrcConnectionRequest msg)
 Send RRC connection request function. More...
 
void DoSendRrcConnectionSetupCompleted (LteRrcSap::RrcConnectionSetupCompleted msg)
 Send RRC connection setup completed function. More...
 
void DoSetup (LteUeRrcSapUser::SetupParameters params)
 Setup function. More...
 
void SetEnbRrcSapProvider ()
 Set ENB RRC SAP provider. More...
 

Private Attributes

LteEnbRrcSapProviderm_enbRrcSapProvider
 the ENB RRC SAP provider More...
 
uint16_t m_rnti
 the RNTI More...
 
Ptr< LteUeRrcm_rrc
 the RRC More...
 
LteUeRrcSapProviderm_ueRrcSapProvider
 the UE RRC SAP provider More...
 
LteUeRrcSapUserm_ueRrcSapUser
 the RRC SAP user More...
 

Friends

class MemberLteUeRrcSapUser< LteUeRrcProtocolIdeal >
 allow MemberLteUeRrcSapUser<LteUeRrcProtocolIdeal> class friend access More...
 

Additional Inherited Members

- Protected Member Functions inherited from ns3::Object
 Object (const Object &o)
 Copy an Object. More...
 
virtual void DoInitialize ()
 Initialize() implementation. More...
 
virtual void NotifyNewAggregate ()
 Notify all Objects aggregated to this one of a new Object being aggregated. More...
 
- Protected Member Functions inherited from ns3::ObjectBase
void ConstructSelf (const AttributeConstructionList &attributes)
 Complete construction of ObjectBase; invoked by derived classes. More...
 
virtual void NotifyConstructionCompleted ()
 Notifier called once the ObjectBase is fully constructed. More...
 

Detailed Description

Models the transmission of RRC messages from the UE to the eNB in an ideal fashion, without errors and without consuming any radio resources.

Definition at line 47 of file lte-rrc-protocol-ideal.h.

Constructor & Destructor Documentation

◆ LteUeRrcProtocolIdeal()

ns3::LteUeRrcProtocolIdeal::LteUeRrcProtocolIdeal ( )

◆ ~LteUeRrcProtocolIdeal()

ns3::LteUeRrcProtocolIdeal::~LteUeRrcProtocolIdeal ( )
override

Definition at line 56 of file lte-rrc-protocol-ideal.cc.

Member Function Documentation

◆ DoDispose()

void ns3::LteUeRrcProtocolIdeal::DoDispose ( void  )
overridevirtual

Destructor implementation.

This method is called by Dispose() or by the Object's destructor, whichever comes first.

Subclasses are expected to implement their real destruction code in an overridden version of this method and chain up to their parent's implementation once they are done. i.e, for simplicity, the destructor of every subclass should be empty and its content should be moved to the associated DoDispose() method.

It is safe to call GetObject() from within this method.

Reimplemented from ns3::Object.

Definition at line 61 of file lte-rrc-protocol-ideal.cc.

References m_rrc, m_ueRrcSapUser, and NS_LOG_FUNCTION.

◆ DoSendIdealUeContextRemoveRequest()

void ns3::LteUeRrcProtocolIdeal::DoSendIdealUeContextRemoveRequest ( uint16_t  rnti)
private

Send Ideal UE context remove request function.

Notify eNodeB to release UE context once radio link failure or random access failure is detected. It is needed since no RLF detection mechanism at eNodeB is implemented

Parameters
rntithe RNTI of the UE

Definition at line 177 of file lte-rrc-protocol-ideal.cc.

References m_enbRrcSapProvider, m_rnti, m_rrc, NS_ABORT_MSG_IF, NS_LOG_DEBUG, NS_LOG_FUNCTION, ns3::LteEnbRrcSapProvider::RecvIdealUeContextRemoveRequest(), ns3::RRC_IDEAL_MSG_DELAY, ns3::Simulator::Schedule(), and SetEnbRrcSapProvider().

+ Here is the call graph for this function:

◆ DoSendMeasurementReport()

void ns3::LteUeRrcProtocolIdeal::DoSendMeasurementReport ( LteRrcSap::MeasurementReport  msg)
private

Send measurement report function.

Parameters
msgLteRrcSap::MeasurementReport

Definition at line 167 of file lte-rrc-protocol-ideal.cc.

References m_enbRrcSapProvider, m_rnti, ns3::LteEnbRrcSapProvider::RecvMeasurementReport(), ns3::RRC_IDEAL_MSG_DELAY, and ns3::Simulator::Schedule().

+ Here is the call graph for this function:

◆ DoSendRrcConnectionReconfigurationCompleted()

void ns3::LteUeRrcProtocolIdeal::DoSendRrcConnectionReconfigurationCompleted ( LteRrcSap::RrcConnectionReconfigurationCompleted  msg)
private

Send RRC connection reconfiguration completed function.

Parameters
msgLteRrcSap::RrcConnectionReconfigurationCompleted

Definition at line 129 of file lte-rrc-protocol-ideal.cc.

References m_enbRrcSapProvider, m_rnti, m_rrc, ns3::LteEnbRrcSapProvider::RecvRrcConnectionReconfigurationCompleted(), ns3::RRC_IDEAL_MSG_DELAY, ns3::Simulator::Schedule(), and SetEnbRrcSapProvider().

+ Here is the call graph for this function:

◆ DoSendRrcConnectionReestablishmentComplete()

void ns3::LteUeRrcProtocolIdeal::DoSendRrcConnectionReestablishmentComplete ( LteRrcSap::RrcConnectionReestablishmentComplete  msg)
private

Send RRC connection reestablishment complete function.

Parameters
msgLteRrcSap::RrcConnectionReestablishmentRequest

Definition at line 156 of file lte-rrc-protocol-ideal.cc.

References m_enbRrcSapProvider, m_rnti, ns3::LteEnbRrcSapProvider::RecvRrcConnectionReestablishmentComplete(), ns3::RRC_IDEAL_MSG_DELAY, and ns3::Simulator::Schedule().

+ Here is the call graph for this function:

◆ DoSendRrcConnectionReestablishmentRequest()

void ns3::LteUeRrcProtocolIdeal::DoSendRrcConnectionReestablishmentRequest ( LteRrcSap::RrcConnectionReestablishmentRequest  msg)
private

Send RRC connection reestablishment request function.

Parameters
msgLteRrcSap::RrcConnectionReestablishmentRequest

Definition at line 145 of file lte-rrc-protocol-ideal.cc.

References m_enbRrcSapProvider, m_rnti, ns3::LteEnbRrcSapProvider::RecvRrcConnectionReestablishmentRequest(), ns3::RRC_IDEAL_MSG_DELAY, and ns3::Simulator::Schedule().

+ Here is the call graph for this function:

◆ DoSendRrcConnectionRequest()

void ns3::LteUeRrcProtocolIdeal::DoSendRrcConnectionRequest ( LteRrcSap::RrcConnectionRequest  msg)
private

Send RRC connection request function.

Parameters
msgLteRrcSap::RrcConnectionRequest

Definition at line 104 of file lte-rrc-protocol-ideal.cc.

References m_enbRrcSapProvider, m_rnti, m_rrc, ns3::LteEnbRrcSapProvider::RecvRrcConnectionRequest(), ns3::RRC_IDEAL_MSG_DELAY, ns3::Simulator::Schedule(), and SetEnbRrcSapProvider().

+ Here is the call graph for this function:

◆ DoSendRrcConnectionSetupCompleted()

void ns3::LteUeRrcProtocolIdeal::DoSendRrcConnectionSetupCompleted ( LteRrcSap::RrcConnectionSetupCompleted  msg)
private

Send RRC connection setup completed function.

Parameters
msgLteRrcSap::RrcConnectionSetupCompleted

Definition at line 119 of file lte-rrc-protocol-ideal.cc.

References m_enbRrcSapProvider, m_rnti, ns3::LteEnbRrcSapProvider::RecvRrcConnectionSetupCompleted(), ns3::RRC_IDEAL_MSG_DELAY, and ns3::Simulator::Schedule().

+ Here is the call graph for this function:

◆ DoSetup()

void ns3::LteUeRrcProtocolIdeal::DoSetup ( LteUeRrcSapUser::SetupParameters  params)
private

Setup function.

Parameters
paramsLteUeRrcSapUser::SetupParameters

Definition at line 97 of file lte-rrc-protocol-ideal.cc.

References NS_LOG_FUNCTION.

◆ GetLteUeRrcSapUser()

LteUeRrcSapUser * ns3::LteUeRrcProtocolIdeal::GetLteUeRrcSapUser ( )

Get LTE UE RRC SAP user function.

Returns
LTE UE RRC SAP user

Definition at line 85 of file lte-rrc-protocol-ideal.cc.

References m_ueRrcSapUser.

◆ GetTypeId()

TypeId ns3::LteUeRrcProtocolIdeal::GetTypeId ( void  )
static

Get the type ID.

Returns
the object TypeId

Definition at line 69 of file lte-rrc-protocol-ideal.cc.

References ns3::TypeId::SetParent().

+ Here is the call graph for this function:

◆ SetEnbRrcSapProvider()

void ns3::LteUeRrcProtocolIdeal::SetEnbRrcSapProvider ( )
private

◆ SetLteUeRrcSapProvider()

void ns3::LteUeRrcProtocolIdeal::SetLteUeRrcSapProvider ( LteUeRrcSapProvider p)

Set LTE UE RRC SAP provider function.

Parameters
pLTE UE RRC SAP provider

Definition at line 79 of file lte-rrc-protocol-ideal.cc.

References m_ueRrcSapProvider.

◆ SetUeRrc()

void ns3::LteUeRrcProtocolIdeal::SetUeRrc ( Ptr< LteUeRrc rrc)

Set LTE UE RRC function.

Parameters
rrcLTE UE RRC

Definition at line 91 of file lte-rrc-protocol-ideal.cc.

References m_rrc.

Friends And Related Function Documentation

◆ MemberLteUeRrcSapUser< LteUeRrcProtocolIdeal >

allow MemberLteUeRrcSapUser<LteUeRrcProtocolIdeal> class friend access

Definition at line 1 of file lte-rrc-protocol-ideal.h.

Referenced by LteUeRrcProtocolIdeal().

Member Data Documentation

◆ m_enbRrcSapProvider

◆ m_rnti

◆ m_rrc

◆ m_ueRrcSapProvider

LteUeRrcSapProvider* ns3::LteUeRrcProtocolIdeal::m_ueRrcSapProvider
private

the UE RRC SAP provider

Definition at line 148 of file lte-rrc-protocol-ideal.h.

Referenced by SetEnbRrcSapProvider(), and SetLteUeRrcSapProvider().

◆ m_ueRrcSapUser

LteUeRrcSapUser* ns3::LteUeRrcProtocolIdeal::m_ueRrcSapUser
private

the RRC SAP user

Definition at line 149 of file lte-rrc-protocol-ideal.h.

Referenced by LteUeRrcProtocolIdeal(), DoDispose(), and GetLteUeRrcSapUser().


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