![]() |
5G-LENA nr-v4.0
The 5G/NR module for the ns-3 simulator
|
#include "introspected-doxygen.h"
Public Types | |
typedef void(* | CellSelectionTracedCallback) (uint64_t imsi, uint16_t cellId) |
typedef void(* | ImsiCidRntiCountTracedCallback) (uint64_t imsi, uint16_t cellId, uint16_t rnti, uint8_t count) |
typedef void(* | ImsiCidRntiTracedCallback) (uint64_t imsi, uint16_t cellId, uint16_t rnti) |
typedef void(* | MibSibHandoverTracedCallback) (uint64_t imsi, uint16_t cellId, uint16_t rnti, uint16_t otherCid) |
typedef void(* | PhySyncDetectionTracedCallback) (uint64_t imsi, uint16_t rnti, uint16_t cellId, std::string type, uint16_t count) |
typedef void(* | SCarrierConfiguredTracedCallback) (Ptr< NrUeRrc >, std::list< NrRrcSap::SCellToAddMod >) |
enum | State { IDLE_START = 0 , IDLE_CELL_SEARCH , IDLE_WAIT_MIB_SIB1 , IDLE_WAIT_MIB , IDLE_WAIT_SIB1 , IDLE_CAMPED_NORMALLY , IDLE_WAIT_SIB2 , IDLE_RANDOM_ACCESS , IDLE_CONNECTING , CONNECTED_NORMALLY , CONNECTED_HANDOVER , CONNECTED_PHY_PROBLEM , CONNECTED_REESTABLISHING , NUM_STATES } |
typedef void(* | StateTracedCallback) (uint64_t imsi, uint16_t cellId, uint16_t rnti, State oldState, State newState) |
Public Member Functions | |
NrUeRrc () | |
~NrUeRrc () override | |
NrAsSapProvider * | GetAsSapProvider () |
uint16_t | GetCellId () const |
uint8_t | GetDlBandwidth () const |
uint32_t | GetDlEarfcn () const |
uint64_t | GetImsi () const |
NrUeCcmRrcSapUser * | GetNrCcmRrcSapUser () |
NrUeCmacSapUser * | GetNrUeCmacSapUser () |
This function is overloaded to maintain backward compatibility. | |
NrUeCmacSapUser * | GetNrUeCmacSapUser (uint8_t index) |
This function is overloaded to maintain backward compatibility. | |
NrUeCphySapUser * | GetNrUeCphySapUser () |
NrUeCphySapUser * | GetNrUeCphySapUser (uint8_t index) |
NrUeRrcSapProvider * | GetNrUeRrcSapProvider () |
uint16_t | GetPreviousCellId () const |
Get the previous cell id. | |
uint16_t | GetPrimaryDlIndex () const |
Returns the primary index. | |
uint16_t | GetPrimaryUlIndex () const |
Returns the primary index. | |
uint16_t | GetRnti () const |
State | GetState () const |
uint8_t | GetUlBandwidth () const |
uint32_t | GetUlEarfcn () const |
void | InitializeSap () |
Initialize SAP. | |
void | InitializeSrb0 () |
Initialize the UE side of SRB0. | |
bool | IsServingCell (uint16_t cellId) const |
void | SetAsSapUser (NrAsSapUser *s) |
void | SetImsi (uint64_t imsi) |
void | SetNrCcmRrcSapProvider (NrUeCcmRrcSapProvider *s) |
void | SetNrMacSapProvider (NrMacSapProvider *s) |
void | SetNrUeCmacSapProvider (NrUeCmacSapProvider *s) |
This function is overloaded to maintain backward compatibility. | |
void | SetNrUeCmacSapProvider (NrUeCmacSapProvider *s, uint8_t index) |
This function is overloaded to maintain backward compatibility. | |
void | SetNrUeCphySapProvider (NrUeCphySapProvider *s) |
void | SetNrUeCphySapProvider (NrUeCphySapProvider *s, uint8_t index) |
void | SetNrUeRrcSapUser (NrUeRrcSapUser *s) |
void | SetPrimaryDlIndex (uint16_t primaryIndex) |
Sets the index of the UE PHY/MAC that will be used as the primary UL PHY/MAC. | |
void | SetPrimaryUlIndex (uint16_t primaryIndex) |
Sets the index of the UE PHY/MAC that will be used as the primary UL PHY/MAC. | |
void | SetUseRlcSm (bool val) |
void | StorePreviousCellId (uint16_t cellId) |
Store the previous cell id. | |
Static Public Member Functions | |
static TypeId | GetTypeId () |
Get the type ID. | |
static const std::string | ToString (NrUeRrc::State s) |
Public Attributes | |
uint16_t | m_numberOfComponentCarriers |
Friends | |
class | MemberNrAsSapProvider< NrUeRrc > |
allow MemberNrAsSapProvider<NrUeRrc> class friend access | |
class | MemberNrUeCcmRrcSapUser< NrUeRrc > |
allow MemberNrUeCcmRrcSapUser<NrUeRrc> class friend access | |
class | MemberNrUeCphySapUser< NrUeRrc > |
allow MemberNrUeCphySapUser<NrUeRrc> class friend access | |
class | MemberNrUeRrcSapProvider< NrUeRrc > |
allow MemberNrUeRrcSapProvider<NrUeRrc> class friend access | |
class | NrPdcpSpecificNrPdcpSapUser< NrUeRrc > |
allow NrPdcpSpecificNrPdcpSapUser<NrUeRrc> class friend access | |
class | UeMemberNrUeCmacSapUser |
allow UeMemberNrUeCmacSapUser class friend access | |
class | UeRrcMemberNrGnbCmacSapUser |
allow UeRrcMemberNrGnbCmacSapUser class friend access | |
ns3::NrUeRrc is accessible through the following paths with Config::Set and Config::Connect:
/NodeList/[i]/DeviceList/[i]/$ns3::NrNetDevice/$ns3::NrUeNetDevice/nrUeRrc
/NodeList/[i]/DeviceList/[i]/$ns3::NrNetDevice/$ns3::NrUeNetDevice/NrUeRrc
/NodeList/[i]/DeviceList/[i]/$ns3::NrUeNetDevice/nrUeRrc
/NodeList/[i]/DeviceList/[i]/$ns3::NrUeNetDevice/NrUeRrc
Size of this type is 1472 bytes (on a 64-bit architecture).
Definition at line 63 of file nr-ue-rrc.h.
typedef void(* ns3::NrUeRrc::CellSelectionTracedCallback) (uint64_t imsi, uint16_t cellId) |
TracedCallback signature for imsi, cellId and rnti events.
[in] | imsi | |
[in] | cellId |
Definition at line 348 of file nr-ue-rrc.h.
typedef void(* ns3::NrUeRrc::ImsiCidRntiCountTracedCallback) (uint64_t imsi, uint16_t cellId, uint16_t rnti, uint8_t count) |
TracedCallback signature for imsi, cellId, rnti and counter for random access events.
[in] | imsi | |
[in] | cellId | |
[in] | rnti | |
[in] | count |
Definition at line 422 of file nr-ue-rrc.h.
typedef void(* ns3::NrUeRrc::ImsiCidRntiTracedCallback) (uint64_t imsi, uint16_t cellId, uint16_t rnti) |
TracedCallback signature for imsi, cellId and rnti events.
[in] | imsi | |
[in] | cellId | |
[in] | rnti |
Definition at line 357 of file nr-ue-rrc.h.
typedef void(* ns3::NrUeRrc::MibSibHandoverTracedCallback) (uint64_t imsi, uint16_t cellId, uint16_t rnti, uint16_t otherCid) |
TracedCallback signature for MIBReceived, Sib1Received and HandoverStart events.
[in] | imsi | |
[in] | cellId | |
[in] | rnti | |
[in] | otherCid |
Definition at line 368 of file nr-ue-rrc.h.
typedef void(* ns3::NrUeRrc::PhySyncDetectionTracedCallback) (uint64_t imsi, uint16_t rnti, uint16_t cellId, std::string type, uint16_t count) |
TracedCallback signature for in-sync and out-of-sync detection events.
[in] | imsi | |
[in] | rnti | |
[in] | cellId | |
[in] | type | |
[in] | count |
Definition at line 407 of file nr-ue-rrc.h.
typedef void(* ns3::NrUeRrc::SCarrierConfiguredTracedCallback) (Ptr< NrUeRrc >, std::list< NrRrcSap::SCellToAddMod >) |
TracedCallback signature for secondary carrier configuration events.
[in] | Pointer | to UE RRC |
[in] | List | of NrRrcSap::SCellToAddMod |
Definition at line 394 of file nr-ue-rrc.h.
typedef void(* ns3::NrUeRrc::StateTracedCallback) (uint64_t imsi, uint16_t cellId, uint16_t rnti, State oldState, State newState) |
TracedCallback signature for state transition events.
[in] | imsi | |
[in] | cellId | |
[in] | rnti | |
[in] | oldState | |
[in] | newState |
Definition at line 382 of file nr-ue-rrc.h.
enum ns3::NrUeRrc::State |
The states of the UE RRC entity
Definition at line 85 of file nr-ue-rrc.h.
ns3::NrUeRrc::NrUeRrc | ( | ) |
create an RRC instance for use within an ue
Definition at line 106 of file nr-ue-rrc.cc.
References MemberNrAsSapProvider< NrUeRrc >, MemberNrUeCcmRrcSapUser< NrUeRrc >, MemberNrUeRrcSapProvider< NrUeRrc >, NrPdcpSpecificNrPdcpSapUser< NrUeRrc >, and UeMemberNrUeCmacSapUser.
|
override |
Destructor
Definition at line 140 of file nr-ue-rrc.cc.
NrAsSapProvider * ns3::NrUeRrc::GetAsSapProvider | ( | ) |
Definition at line 410 of file nr-ue-rrc.cc.
uint16_t ns3::NrUeRrc::GetCellId | ( | ) | const |
Definition at line 450 of file nr-ue-rrc.cc.
Referenced by GetTypeId().
uint8_t ns3::NrUeRrc::GetDlBandwidth | ( | ) | const |
Definition at line 478 of file nr-ue-rrc.cc.
uint32_t ns3::NrUeRrc::GetDlEarfcn | ( | ) | const |
Definition at line 485 of file nr-ue-rrc.cc.
uint64_t ns3::NrUeRrc::GetImsi | ( | ) | const |
Definition at line 437 of file nr-ue-rrc.cc.
NrUeCcmRrcSapUser * ns3::NrUeRrc::GetNrCcmRrcSapUser | ( | ) |
Get the Component Carrier Management SAP offered by this RRC
Definition at line 397 of file nr-ue-rrc.cc.
NrUeCmacSapUser * ns3::NrUeRrc::GetNrUeCmacSapUser | ( | ) |
This function is overloaded to maintain backward compatibility.
Definition at line 355 of file nr-ue-rrc.cc.
References GetPrimaryDlIndex().
NrUeCmacSapUser * ns3::NrUeRrc::GetNrUeCmacSapUser | ( | uint8_t | index | ) |
This function is overloaded to maintain backward compatibility.
index | the index |
Definition at line 362 of file nr-ue-rrc.cc.
NrUeCphySapUser * ns3::NrUeRrc::GetNrUeCphySapUser | ( | ) |
Definition at line 327 of file nr-ue-rrc.cc.
References GetPrimaryDlIndex().
NrUeCphySapUser * ns3::NrUeRrc::GetNrUeCphySapUser | ( | uint8_t | index | ) |
index | the index |
Definition at line 334 of file nr-ue-rrc.cc.
NrUeRrcSapProvider * ns3::NrUeRrc::GetNrUeRrcSapProvider | ( | ) |
Definition at line 376 of file nr-ue-rrc.cc.
uint16_t ns3::NrUeRrc::GetPreviousCellId | ( | ) | const |
Get the previous cell id.
Definition at line 505 of file nr-ue-rrc.cc.
uint16_t ns3::NrUeRrc::GetPrimaryDlIndex | ( | ) | const |
Returns the primary index.
Definition at line 537 of file nr-ue-rrc.cc.
Referenced by GetNrUeCmacSapUser(), GetNrUeCphySapUser(), SetNrUeCmacSapProvider(), and SetNrUeCphySapProvider().
uint16_t ns3::NrUeRrc::GetPrimaryUlIndex | ( | ) | const |
Returns the primary index.
Definition at line 525 of file nr-ue-rrc.cc.
Referenced by InitializeSrb0().
uint16_t ns3::NrUeRrc::GetRnti | ( | ) | const |
Definition at line 443 of file nr-ue-rrc.cc.
Referenced by GetTypeId().
NrUeRrc::State ns3::NrUeRrc::GetState | ( | ) | const |
Definition at line 498 of file nr-ue-rrc.cc.
|
static |
Get the type ID.
Definition at line 168 of file nr-ue-rrc.cc.
References GetCellId(), and GetRnti().
uint8_t ns3::NrUeRrc::GetUlBandwidth | ( | ) | const |
Definition at line 471 of file nr-ue-rrc.cc.
uint32_t ns3::NrUeRrc::GetUlEarfcn | ( | ) | const |
Definition at line 491 of file nr-ue-rrc.cc.
void ns3::NrUeRrc::InitializeSap | ( | ) |
Initialize SAP.
Definition at line 575 of file nr-ue-rrc.cc.
References m_numberOfComponentCarriers, and UeMemberNrUeCmacSapUser.
void ns3::NrUeRrc::InitializeSrb0 | ( | ) |
Initialize the UE side of SRB0.
Definition at line 543 of file nr-ue-rrc.cc.
References ns3::NrUeCmacSapProvider::LogicalChannelConfig::bucketSizeDurationMs, ns3::NrUeCcmRrcSapProvider::ConfigureSignalBearer(), GetPrimaryUlIndex(), ns3::NrUeCmacSapProvider::LogicalChannelConfig::logicalChannelGroup, ns3::NrUeCmacSapProvider::LogicalChannelConfig::prioritizedBitRateKbps, ns3::NrUeCmacSapProvider::LogicalChannelConfig::priority, ns3::NrRlc::SetNrMacSapProvider(), ns3::NrUeRrcSapUser::Setup(), ns3::NrUeRrcSapUser::SetupParameters::srb0SapProvider, and ns3::NrUeRrcSapUser::SetupParameters::srb1SapProvider.
bool ns3::NrUeRrc::IsServingCell | ( | uint16_t | cellId | ) | const |
cellId | cell identifier |
Definition at line 457 of file nr-ue-rrc.cc.
void ns3::NrUeRrc::SetAsSapUser | ( | NrAsSapUser * | s | ) |
Set the AS SAP user to interact with the NAS entity
s | the AS SAP user |
Definition at line 404 of file nr-ue-rrc.cc.
void ns3::NrUeRrc::SetImsi | ( | uint64_t | imsi | ) |
imsi | the unique UE identifier |
Definition at line 416 of file nr-ue-rrc.cc.
References m_numberOfComponentCarriers.
void ns3::NrUeRrc::SetNrCcmRrcSapProvider | ( | NrUeCcmRrcSapProvider * | s | ) |
set the Component Carrier Management SAP this RRC should interact with
s | the Component Carrier Management SAP Provider to be used by this RRC |
Definition at line 390 of file nr-ue-rrc.cc.
void ns3::NrUeRrc::SetNrMacSapProvider | ( | NrMacSapProvider * | 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 383 of file nr-ue-rrc.cc.
void ns3::NrUeRrc::SetNrUeCmacSapProvider | ( | NrUeCmacSapProvider * | s | ) |
This function is overloaded to maintain backward compatibility.
set the CMAC SAP this RRC should interact with
s | the CMAC SAP Provider to be used by this RRC |
Definition at line 341 of file nr-ue-rrc.cc.
References GetPrimaryDlIndex().
void ns3::NrUeRrc::SetNrUeCmacSapProvider | ( | NrUeCmacSapProvider * | s, |
uint8_t | index | ||
) |
This function is overloaded to maintain backward compatibility.
set the CMAC SAP this RRC should interact with
s | the CMAC SAP Provider to be used by this RRC |
index | the index |
Definition at line 348 of file nr-ue-rrc.cc.
void ns3::NrUeRrc::SetNrUeCphySapProvider | ( | NrUeCphySapProvider * | s | ) |
set the CPHY SAP this RRC should use to interact with the PHY
s | the CPHY SAP Provider |
Definition at line 313 of file nr-ue-rrc.cc.
References GetPrimaryDlIndex().
void ns3::NrUeRrc::SetNrUeCphySapProvider | ( | NrUeCphySapProvider * | s, |
uint8_t | index | ||
) |
set the CPHY SAP this RRC should use to interact with the PHY
s | the CPHY SAP Provider |
index | the index |
Definition at line 320 of file nr-ue-rrc.cc.
void ns3::NrUeRrc::SetNrUeRrcSapUser | ( | NrUeRrcSapUser * | s | ) |
set the RRC SAP this RRC should interact with
s | the RRC SAP User to be used by this RRC |
Definition at line 369 of file nr-ue-rrc.cc.
void ns3::NrUeRrc::SetPrimaryDlIndex | ( | uint16_t | primaryIndex | ) |
Sets the index of the UE PHY/MAC that will be used as the primary UL PHY/MAC.
primaryIndex | Sets the primaryIndex |
Definition at line 531 of file nr-ue-rrc.cc.
void ns3::NrUeRrc::SetPrimaryUlIndex | ( | uint16_t | primaryIndex | ) |
Sets the index of the UE PHY/MAC that will be used as the primary UL PHY/MAC.
primaryIndex | Sets the primaryIndex |
Definition at line 519 of file nr-ue-rrc.cc.
void ns3::NrUeRrc::SetUseRlcSm | ( | bool | val | ) |
val | true if RLC SM is to be used, false if RLC UM/AM are to be used |
Definition at line 512 of file nr-ue-rrc.cc.
void ns3::NrUeRrc::StorePreviousCellId | ( | uint16_t | cellId | ) |
Store the previous cell id.
cellId | The cell id of the previous cell the UE was attached to |
Definition at line 430 of file nr-ue-rrc.cc.
|
static |
s | The UE RRC state. |
Definition at line 3395 of file nr-ue-rrc.cc.
|
friend |
allow MemberNrAsSapProvider<NrUeRrc> class friend access
Definition at line 68 of file nr-ue-rrc.h.
Referenced by NrUeRrc().
|
friend |
allow MemberNrUeCcmRrcSapUser<NrUeRrc> class friend access
Definition at line 68 of file nr-ue-rrc.h.
Referenced by NrUeRrc().
|
friend |
allow MemberNrUeCphySapUser<NrUeRrc> class friend access
Definition at line 68 of file nr-ue-rrc.h.
|
friend |
allow MemberNrUeRrcSapProvider<NrUeRrc> class friend access
Definition at line 68 of file nr-ue-rrc.h.
Referenced by NrUeRrc().
|
friend |
allow NrPdcpSpecificNrPdcpSapUser<NrUeRrc> class friend access
Definition at line 68 of file nr-ue-rrc.h.
Referenced by NrUeRrc().
|
friend |
allow UeMemberNrUeCmacSapUser class friend access
Definition at line 66 of file nr-ue-rrc.h.
Referenced by NrUeRrc(), and InitializeSap().
|
friend |
allow UeRrcMemberNrGnbCmacSapUser class friend access
Definition at line 68 of file nr-ue-rrc.h.
uint16_t ns3::NrUeRrc::m_numberOfComponentCarriers |
The number of component carriers.
Definition at line 1365 of file nr-ue-rrc.h.
Referenced by InitializeSap(), and SetImsi().