#include <lte-ue-rrc.h>
Public Member Functions | |
LteUeRrc () | |
virtual | ~LteUeRrc () |
void | ConfigureUe (uint16_t rnti, uint16_t cellId) |
virtual void | DoDispose (void) |
void | DoRrcConfigurationUpdateInd (LteUeConfig_t params) |
uint16_t | GetCellId () |
std::vector< uint8_t > | GetLcIdVector () |
LteUeCmacSapUser * | GetLteUeCmacSapUser () |
uint16_t | GetRnti () |
void | ReleaseRadioBearer (uint16_t rnti, uint8_t lcId) |
bool | Send (Ptr< Packet > p) |
void | SetForwardUpCallback (Callback< void, Ptr< Packet > > cb) |
void | SetLteMacSapProvider (LteMacSapProvider *s) |
void | SetLteUeCmacSapProvider (LteUeCmacSapProvider *s) |
void | SetupRadioBearer (uint16_t rnti, EpsBearer bearer, TypeId rlcTypeId, uint8_t lcid, Ptr< EpcTft > tft) |
![]() | |
Object () | |
virtual | ~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 | Start (void) |
![]() | |
SimpleRefCount () | |
SimpleRefCount (const SimpleRefCount &o) | |
uint32_t | GetReferenceCount (void) const |
SimpleRefCount & | operator= (const SimpleRefCount &o) |
void | Ref (void) const |
void | Unref (void) const |
![]() | |
virtual | ~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) |
This method returns the TypeId associated to ns3::LteUeRrc. |
Private Member Functions | |
void | DoLcConfigCompleted () |
void | DoReceiveRrcPdu (LtePdcpSapUser::ReceiveRrcPduParameters params) |
Private Attributes | |
uint16_t | m_cellId |
LteUeCmacSapProvider * | m_cmacSapProvider |
LteUeCmacSapUser * | m_cmacSapUser |
Callback< void, Ptr< Packet > > | m_forwardUpCallback |
LteMacSapProvider * | m_macSapProvider |
LtePdcpSapUser * | m_pdcpSapUser |
std::map< uint8_t, Ptr < LteRadioBearerInfo > > | m_rbMap |
uint16_t | m_rnti |
EpcTftClassifier | m_tftClassifier |
Friends | |
class | LtePdcpSpecificLtePdcpSapUser< LteUeRrc > |
class | UeMemberLteUeCmacSapUser |
class | UeRrcMemberLteEnbCmacSapUser |
Additional Inherited Members | |
![]() | |
Object (const Object &o) | |
virtual void | DoStart (void) |
virtual void | NotifyNewAggregate (void) |
Definition at line 47 of file lte-ue-rrc.h.
ns3::LteUeRrc::LteUeRrc | ( | ) |
create an RRC instance for use within an ue
Definition at line 99 of file lte-ue-rrc.cc.
References m_cmacSapUser, m_pdcpSapUser, NS_LOG_FUNCTION, and UeMemberLteUeCmacSapUser.
|
virtual |
void ns3::LteUeRrc::ConfigureUe | ( | uint16_t | rnti, |
uint16_t | cellId | ||
) |
Set UE RRC parameters
rnti | C-RNTI of the UE |
cellId | Serving cell identifier |
Definition at line 172 of file lte-ue-rrc.cc.
References ns3::LteUeCmacSapProvider::ConfigureUe(), m_cellId, m_cmacSapProvider, m_rnti, and NS_LOG_FUNCTION.
Referenced by ns3::LteHelper::Attach().
|
virtual |
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 116 of file lte-ue-rrc.cc.
References m_cmacSapUser, m_pdcpSapUser, m_rbMap, and NS_LOG_FUNCTION.
|
private |
Definition at line 270 of file lte-ue-rrc.cc.
References NS_FATAL_ERROR, and NS_LOG_FUNCTION.
Referenced by ns3::UeMemberLteUeCmacSapUser::LcConfigCompleted().
|
private |
Definition at line 260 of file lte-ue-rrc.cc.
References m_forwardUpCallback, NS_LOG_FUNCTION, and ns3::LtePdcpSapUser::ReceiveRrcPduParameters::rrcPdu.
void ns3::LteUeRrc::DoRrcConfigurationUpdateInd | ( | LteUeConfig_t | params | ) |
message from eNB-RRC for changing UE's configuration (up to now TxMode)
Definition at line 302 of file lte-ue-rrc.cc.
References m_cmacSapProvider, ns3::LteUeConfig_t::m_rnti, ns3::LteUeConfig_t::m_transmissionMode, NS_LOG_FUNCTION, and ns3::LteUeCmacSapProvider::RrcUpdateConfigurationReq().
Referenced by ns3::LteEnbRrc::DoRrcConfigurationUpdateInd().
uint16_t ns3::LteUeRrc::GetCellId | ( | ) |
Definition at line 284 of file lte-ue-rrc.cc.
References m_cellId, and NS_LOG_FUNCTION.
std::vector< uint8_t > ns3::LteUeRrc::GetLcIdVector | ( | ) |
Definition at line 291 of file lte-ue-rrc.cc.
References m_rbMap.
LteUeCmacSapUser * ns3::LteUeRrc::GetLteUeCmacSapUser | ( | ) |
Definition at line 156 of file lte-ue-rrc.cc.
References m_cmacSapUser, and NS_LOG_FUNCTION.
uint16_t ns3::LteUeRrc::GetRnti | ( | void | ) |
Definition at line 277 of file lte-ue-rrc.cc.
References m_rnti, and NS_LOG_FUNCTION.
Referenced by ns3::LteHelper::ActivateEpsBearer(), and ns3::LteEnbRrc::DoRrcConfigurationUpdateInd().
|
static |
This method returns the TypeId associated to ns3::LteUeRrc.
This object is accessible through the following paths with Config::Set and Config::Connect:
Attributes defined for this type:
No TraceSources defined for this type.
Reimplemented from ns3::Object.
Definition at line 125 of file lte-ue-rrc.cc.
References m_cellId, m_rbMap, m_rnti, ns3::MakeObjectMapAccessor(), and ns3::TypeId::SetParent().
void ns3::LteUeRrc::ReleaseRadioBearer | ( | uint16_t | rnti, |
uint8_t | lcId | ||
) |
Release the given radio bearer
rnti | the C-RNTI of the user owning the bearer |
lcId | the logical channel id of the bearer to be released |
Definition at line 218 of file lte-ue-rrc.cc.
References m_rbMap, NS_ASSERT_MSG, NS_FATAL_ERROR, and NS_LOG_FUNCTION.
Enqueue an IP packet on the proper bearer for uplink transmission
p | the packet |
Definition at line 229 of file lte-ue-rrc.cc.
References ns3::EpcTftClassifier::Classify(), ns3::Packet::GetSize(), ns3::LtePdcpSapProvider::TransmitRrcPduParameters::lcid, m_rbMap, m_rnti, m_tftClassifier, NS_LOG_FUNCTION, NS_LOG_LOGIC, NS_LOG_WARN, ns3::LtePdcpSapProvider::TransmitRrcPduParameters::rnti, ns3::LtePdcpSapProvider::TransmitRrcPduParameters::rrcPdu, and ns3::EpcTft::UPLINK.
Referenced by ns3::LteUeNetDevice::Send().
set the callback used to forward data packets up the stack
void | |
cb |
Definition at line 253 of file lte-ue-rrc.cc.
References m_forwardUpCallback.
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 163 of file lte-ue-rrc.cc.
References m_macSapProvider, and 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 149 of file lte-ue-rrc.cc.
References m_cmacSapProvider, and NS_LOG_FUNCTION.
Referenced by ns3::LteHelper::InstallSingleUeDevice().
void ns3::LteUeRrc::SetupRadioBearer | ( | uint16_t | rnti, |
EpsBearer | bearer, | ||
TypeId | rlcTypeId, | ||
uint8_t | lcid, | ||
Ptr< EpcTft > | tft | ||
) |
Setup a new radio bearer for the given user
rnti | the RNTI of the user |
bearer | the characteristics of the bearer to be activated |
rlcTypeId | the TypeId identifying the type of RLC to be used for this bearer. |
lcid | the logical channel id allocated for this bearer by the eNB |
tft | the Traffic Flow Template identifying this bearer |
Definition at line 181 of file lte-ue-rrc.cc.
References ns3::EpcTftClassifier::Add(), ns3::LteUeCmacSapProvider::AddLc(), ns3::ObjectFactory::Create(), ns3::LteRlc::GetLteMacSapUser(), ns3::LteRlc::GetLteRlcSapProvider(), ns3::LtePdcp::GetLteRlcSapUser(), ns3::Object::GetObject(), ns3::LteRlcSm::GetTypeId(), m_cmacSapProvider, m_macSapProvider, ns3::LteRadioBearerInfo::m_pdcp, m_pdcpSapUser, m_rbMap, ns3::LteRadioBearerInfo::m_rlc, m_tftClassifier, NS_ASSERT_MSG, NS_LOG_FUNCTION, ns3::LtePdcp::SetLcId(), ns3::LteRlc::SetLcId(), ns3::LteRlc::SetLteMacSapProvider(), ns3::LtePdcp::SetLtePdcpSapUser(), ns3::LtePdcp::SetLteRlcSapProvider(), ns3::LteRlc::SetLteRlcSapUser(), ns3::LtePdcp::SetRnti(), ns3::LteRlc::SetRnti(), and ns3::ObjectFactory::SetTypeId().
Referenced by ns3::LteHelper::ActivateEpsBearer().
|
friend |
Definition at line 52 of file lte-ue-rrc.h.
|
friend |
Definition at line 50 of file lte-ue-rrc.h.
Referenced by LteUeRrc().
|
friend |
Definition at line 51 of file lte-ue-rrc.h.
|
private |
Definition at line 188 of file lte-ue-rrc.h.
Referenced by ConfigureUe(), GetCellId(), and GetTypeId().
|
private |
Definition at line 182 of file lte-ue-rrc.h.
Referenced by ConfigureUe(), DoRrcConfigurationUpdateInd(), SetLteUeCmacSapProvider(), and SetupRadioBearer().
|
private |
Definition at line 181 of file lte-ue-rrc.h.
Referenced by DoDispose(), GetLteUeCmacSapUser(), and LteUeRrc().
Definition at line 179 of file lte-ue-rrc.h.
Referenced by DoReceiveRrcPdu(), and SetForwardUpCallback().
|
private |
Definition at line 184 of file lte-ue-rrc.h.
Referenced by SetLteMacSapProvider(), and SetupRadioBearer().
|
private |
Definition at line 185 of file lte-ue-rrc.h.
Referenced by DoDispose(), LteUeRrc(), and SetupRadioBearer().
|
private |
Definition at line 190 of file lte-ue-rrc.h.
Referenced by DoDispose(), GetLcIdVector(), GetTypeId(), ReleaseRadioBearer(), Send(), and SetupRadioBearer().
|
private |
Definition at line 187 of file lte-ue-rrc.h.
Referenced by ConfigureUe(), GetRnti(), GetTypeId(), and Send().
|
private |
Definition at line 192 of file lte-ue-rrc.h.
Referenced by Send(), and SetupRadioBearer().