#include <introspected-doxygen.h>
Public Types | |
enum | State { IDLE_CELL_SELECTION = 0, IDLE_WAIT_SYSTEM_INFO, IDLE_CAMPED_NORMALLY, IDLE_RANDOM_ACCESS, IDLE_CONNECTING, CONNECTED_NORMALLY, CONNECTED_REESTABLISHING, CONNECTED_HANDOVER, NUM_STATES } |
Public Member Functions | |
LteUeRrc () | |
virtual | ~LteUeRrc () |
LteAsSapProvider * | GetAsSapProvider () |
uint16_t | GetCellId () const |
uint8_t | GetDlBandwidth () const |
uint16_t | GetDlEarfcn () const |
uint64_t | GetImsi (void) |
LteUeCmacSapUser * | GetLteUeCmacSapUser () |
LteUeCphySapUser * | GetLteUeCphySapUser () |
LteUeRrcSapProvider * | GetLteUeRrcSapProvider () |
uint16_t | GetRnti () const |
State | GetState () |
uint8_t | GetUlBandwidth () const |
uint16_t | GetUlEarfcn () const |
void | SetAsSapUser (LteAsSapUser *s) |
void | SetImsi (uint64_t imsi) |
void | SetLteMacSapProvider (LteMacSapProvider *s) |
void | SetLteUeCmacSapProvider (LteUeCmacSapProvider *s) |
void | SetLteUeCphySapProvider (LteUeCphySapProvider *s) |
void | SetLteUeRrcSapUser (LteUeRrcSapUser *s) |
void | SetUseRlcSm (bool val) |
Public Member Functions inherited from ns3::Object | |
void | AggregateObject (Ptr< Object > other) |
void | Dispose (void) |
AggregateIterator | GetAggregateIterator (void) const |
virtual TypeId | GetInstanceTypeId (void) const |
template<typename T > | |
Ptr< T > | GetObject (void) const |
template<typename T > | |
Ptr< T > | GetObject (TypeId tid) const |
void | Initialize (void) |
Public Member Functions inherited from ns3::SimpleRefCount< Object, ObjectBase, ObjectDeleter > | |
SimpleRefCount (const SimpleRefCount &o) | |
uint32_t | GetReferenceCount (void) const |
SimpleRefCount & | operator= (const SimpleRefCount &o) |
void | Ref (void) const |
void | Unref (void) const |
Public Member Functions inherited from ns3::ObjectBase | |
void | GetAttribute (std::string name, AttributeValue &value) const |
bool | GetAttributeFailSafe (std::string name, AttributeValue &attribute) const |
void | SetAttribute (std::string name, const AttributeValue &value) |
bool | SetAttributeFailSafe (std::string name, const AttributeValue &value) |
bool | TraceConnect (std::string name, std::string context, const CallbackBase &cb) |
bool | TraceConnectWithoutContext (std::string name, const CallbackBase &cb) |
bool | TraceDisconnect (std::string name, std::string context, const CallbackBase &cb) |
bool | TraceDisconnectWithoutContext (std::string name, const CallbackBase &cb) |
Static Public Member Functions | |
static TypeId | GetTypeId (void) |
Static Public Member Functions inherited from ns3::Object | |
static TypeId | GetTypeId (void) |
Static Public Member Functions inherited from ns3::SimpleRefCount< Object, ObjectBase, ObjectDeleter > | |
static void | Cleanup (void) |
Static Public Member Functions inherited from ns3::ObjectBase | |
static TypeId | GetTypeId (void) |
Private Member Functions | |
void | ApplyRadioResourceConfigDedicated (LteRrcSap::RadioResourceConfigDedicated rrcd) |
uint8_t | Bid2Drbid (uint8_t bid) |
void | DisposeOldSrb1 () |
void | DoCompleteSetup (LteUeRrcSapProvider::CompleteSetupParameters params) |
void | DoConnect () |
void | DoDisconnect () |
virtual void | DoDispose (void) |
void | DoForceCampedOnEnb (uint16_t cellId, uint16_t earfcn) |
virtual void | DoInitialize (void) |
void | DoNotifyRandomAccessFailed () |
void | DoNotifyRandomAccessSuccessful () |
void | DoReceivePdcpSdu (LtePdcpSapUser::ReceivePdcpSduParameters params) |
void | DoRecvMasterInformationBlock (LteRrcSap::MasterInformationBlock msg) |
void | DoRecvRrcConnectionReconfiguration (LteRrcSap::RrcConnectionReconfiguration msg) |
void | DoRecvRrcConnectionReestablishment (LteRrcSap::RrcConnectionReestablishment msg) |
void | DoRecvRrcConnectionReestablishmentReject (LteRrcSap::RrcConnectionReestablishmentReject msg) |
void | DoRecvRrcConnectionReject (LteRrcSap::RrcConnectionReject msg) |
void | DoRecvRrcConnectionRelease (LteRrcSap::RrcConnectionRelease msg) |
void | DoRecvRrcConnectionSetup (LteRrcSap::RrcConnectionSetup msg) |
void | DoRecvSystemInformation (LteRrcSap::SystemInformation msg) |
void | DoRecvSystemInformationBlockType1 (LteRrcSap::SystemInformationBlockType1 msg) |
void | DoSendData (Ptr< Packet > packet, uint8_t bid) |
void | DoSetTemporaryCellRnti (uint16_t rnti) |
void | LeaveConnectedMode () |
void | StartConnection () |
void | SwitchToState (State s) |
Private Attributes | |
LteAsSapProvider * | m_asSapProvider |
LteAsSapUser * | m_asSapUser |
std::map< uint8_t, uint8_t > | m_bid2DrbidMap |
uint16_t | m_cellId |
LteUeCmacSapProvider * | m_cmacSapProvider |
LteUeCmacSapUser * | m_cmacSapUser |
TracedCallback< uint64_t, uint16_t, uint16_t > | m_connectionEstablishedTrace |
bool | m_connectionPending |
TracedCallback< uint64_t, uint16_t, uint16_t > | m_connectionReconfigurationTrace |
LteUeCphySapProvider * | m_cphySapProvider |
LteUeCphySapUser * | m_cphySapUser |
uint8_t | m_dlBandwidth |
uint16_t | m_dlEarfcn |
std::map< uint8_t, Ptr < LteDataRadioBearerInfo > > | m_drbMap |
LtePdcpSapUser * | m_drbPdcpSapUser |
TracedCallback< uint64_t, uint16_t, uint16_t > | m_handoverEndOkTrace |
TracedCallback< uint64_t, uint16_t, uint16_t, uint16_t > | m_handoverStartTrace |
uint64_t | m_imsi |
uint8_t | m_lastRrcTransactionIdentifier |
LteMacSapProvider * | m_macSapProvider |
TracedCallback< uint64_t, uint16_t, uint16_t > | m_randomAccessSuccessfulTrace |
bool | m_receivedMib |
bool | m_receivedSib2 |
uint16_t | m_rnti |
LteUeRrcSapProvider * | m_rrcSapProvider |
LteUeRrcSapUser * | m_rrcSapUser |
Ptr< LteSignalingRadioBearerInfo > | m_srb0 |
Ptr< LteSignalingRadioBearerInfo > | m_srb1 |
Ptr< LteSignalingRadioBearerInfo > | m_srb1Old |
State | m_state |
TracedCallback< uint64_t, uint16_t, uint16_t, State, State > | m_stateTransitionTrace |
uint8_t | m_ulBandwidth |
uint16_t | m_ulEarfcn |
bool | m_useRlcSm |
Additional Inherited Members | |
Protected Member Functions inherited from ns3::Object | |
Object (const Object &o) | |
virtual void | NotifyNewAggregate (void) |
Protected Member Functions inherited from ns3::ObjectBase | |
void | ConstructSelf (const AttributeConstructionList &attributes) |
virtual void | NotifyConstructionCompleted (void) |
ns3::LteUeRrc is accessible through the following paths with Config::Set and Config::Connect:
Definition at line 49 of file lte-ue-rrc.h.
enum ns3::LteUeRrc::State |
The states of the UE RRC entity
Definition at line 65 of file lte-ue-rrc.h.
ns3::LteUeRrc::LteUeRrc | ( | ) |
create an RRC instance for use within an ue
Definition at line 119 of file lte-ue-rrc.cc.
References NS_LOG_FUNCTION.
|
virtual |
|
privatevirtual |
This method is called by Object::Dispose or by the object's destructor, whichever comes first.
Subclasses are expected to implement their real destruction code in an overriden 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 150 of file lte-ue-rrc.cc.
References NS_LOG_FUNCTION.
|
privatevirtual |
This method is called only once by Object::Initialize. If the user calls Object::Initialize multiple times, DoInitialize is called only the first time.
Subclasses are expected to override this method and chain up to their parent's implementation once they are done. It is safe to call GetObject and AggregateObject from within this method.
Reimplemented from ns3::Object.
Definition at line 345 of file lte-ue-rrc.cc.
References ns3::LteUeCmacSapProvider::AddLc(), and NS_LOG_FUNCTION.
LteAsSapProvider * ns3::LteUeRrc::GetAsSapProvider | ( | ) |
Definition at line 268 of file lte-ue-rrc.cc.
uint16_t ns3::LteUeRrc::GetCellId | ( | ) | const |
Definition at line 294 of file lte-ue-rrc.cc.
References NS_LOG_FUNCTION.
uint8_t ns3::LteUeRrc::GetDlBandwidth | ( | ) | const |
Definition at line 309 of file lte-ue-rrc.cc.
References m_dlBandwidth, and NS_LOG_FUNCTION.
uint16_t ns3::LteUeRrc::GetDlEarfcn | ( | ) | const |
Definition at line 316 of file lte-ue-rrc.cc.
References m_dlEarfcn.
uint64_t ns3::LteUeRrc::GetImsi | ( | void | ) |
Definition at line 281 of file lte-ue-rrc.cc.
LteUeCmacSapUser * ns3::LteUeRrc::GetLteUeCmacSapUser | ( | ) |
Definition at line 234 of file lte-ue-rrc.cc.
References NS_LOG_FUNCTION.
LteUeCphySapUser * ns3::LteUeRrc::GetLteUeCphySapUser | ( | ) |
Definition at line 220 of file lte-ue-rrc.cc.
References NS_LOG_FUNCTION.
LteUeRrcSapProvider * ns3::LteUeRrc::GetLteUeRrcSapProvider | ( | ) |
Definition at line 248 of file lte-ue-rrc.cc.
References NS_LOG_FUNCTION.
uint16_t ns3::LteUeRrc::GetRnti | ( | void | ) | const |
Definition at line 287 of file lte-ue-rrc.cc.
References NS_LOG_FUNCTION.
LteUeRrc::State ns3::LteUeRrc::GetState | ( | void | ) |
uint8_t ns3::LteUeRrc::GetUlBandwidth | ( | ) | const |
Definition at line 302 of file lte-ue-rrc.cc.
References m_ulBandwidth, and NS_LOG_FUNCTION.
uint16_t ns3::LteUeRrc::GetUlEarfcn | ( | ) | const |
Definition at line 322 of file lte-ue-rrc.cc.
References m_ulEarfcn, and NS_LOG_FUNCTION.
void ns3::LteUeRrc::SetAsSapUser | ( | LteAsSapUser * | s | ) |
Set the AS SAP user to interact with the NAS entity
s | the AS SAP user |
Definition at line 262 of file lte-ue-rrc.cc.
void ns3::LteUeRrc::SetImsi | ( | uint64_t | imsi | ) |
imsi | the unique UE identifier |
Definition at line 274 of file lte-ue-rrc.cc.
References NS_LOG_FUNCTION.
void ns3::LteUeRrc::SetLteMacSapProvider | ( | LteMacSapProvider * | s | ) |
set the MAC SAP provider. The ue RRC does not use this directly, but it needs to provide it to newly created RLC instances.
s | the MAC SAP provider that will be used by all newly created RLC instances |
Definition at line 255 of file lte-ue-rrc.cc.
References NS_LOG_FUNCTION.
void ns3::LteUeRrc::SetLteUeCmacSapProvider | ( | LteUeCmacSapProvider * | s | ) |
set the CMAC SAP this RRC should interact with
s | the CMAC SAP Provider to be used by this RRC |
Definition at line 227 of file lte-ue-rrc.cc.
References NS_LOG_FUNCTION.
void ns3::LteUeRrc::SetLteUeCphySapProvider | ( | LteUeCphySapProvider * | s | ) |
set the CPHY SAP this RRC should use to interact with the PHY
s | the CPHY SAP Provider |
Definition at line 213 of file lte-ue-rrc.cc.
References NS_LOG_FUNCTION.
void ns3::LteUeRrc::SetLteUeRrcSapUser | ( | LteUeRrcSapUser * | s | ) |
set the RRC SAP this RRC should interact with
s | the RRC SAP User to be used by this RRC |
Definition at line 241 of file lte-ue-rrc.cc.
References NS_LOG_FUNCTION.
void ns3::LteUeRrc::SetUseRlcSm | ( | bool | val | ) |
val | true if RLC SM is to be used, false if RLC UM/AM are to be used |
Definition at line 337 of file lte-ue-rrc.cc.
References NS_LOG_FUNCTION.
|
private |
true if a connection request by upper layers is pending
Definition at line 318 of file lte-ue-rrc.h.
|
private |
downlink bandwidth in RBs
Definition at line 299 of file lte-ue-rrc.h.
Referenced by GetDlBandwidth().
|
private |
downlink carrier frequency
Definition at line 302 of file lte-ue-rrc.h.
Referenced by GetDlEarfcn().
|
private |
true if MIB was received for the current cell
Definition at line 319 of file lte-ue-rrc.h.
|
private |
true if SIB2 was received for the current cell
Definition at line 320 of file lte-ue-rrc.h.
|
private |
uplink bandwidth in RBs
Definition at line 300 of file lte-ue-rrc.h.
Referenced by GetUlBandwidth().
|
private |