#include <lte-ue-mac.h>
Public Member Functions | |
LteUeMac () | |
virtual | ~LteUeMac () |
virtual void | DoDispose (void) |
void | DoSubframeIndication (uint32_t frameNo, uint32_t subframeNo) |
Forwarded from LteUePhySapUser: trigger the start from a new frame. | |
LteMacSapProvider * | GetLteMacSapProvider (void) |
LteUeCmacSapProvider * | GetLteUeCmacSapProvider (void) |
LteUePhySapUser * | GetLteUePhySapUser () |
Get the PHY SAP user. | |
void | SetLteUeCmacSapUser (LteUeCmacSapUser *s) |
void | SetLteUePhySapProvider (LteUePhySapProvider *s) |
Set the PHY SAP Provider. | |
![]() | |
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) |
Private Member Functions | |
void | DoAddLc (uint8_t lcId, LteMacSapUser *msu) |
void | DoConfigureUe (uint16_t rnti) |
void | DoReceiveLteControlMessage (Ptr< LteControlMessage > msg) |
void | DoReceivePhyPdu (Ptr< Packet > p) |
void | DoRemoveLc (uint8_t lcId) |
void | DoReportBufferStatus (LteMacSapProvider::ReportBufferStatusParameters params) |
void | DoRrcUpdateConfigurationReq (LteUeConfig_t params) |
void | DoTransmitPdu (LteMacSapProvider::TransmitPduParameters params) |
void | SendReportBufferStatus (void) |
Private Attributes | |
Time | m_bsrLast |
Time | m_bsrPeriodicity |
LteUeCmacSapProvider * | m_cmacSapProvider |
LteUeCmacSapUser * | m_cmacSapUser |
bool | m_freshUlBsr |
LteMacSapProvider * | m_macSapProvider |
std::map< uint8_t, LteMacSapUser * > | m_macSapUserMap |
uint16_t | m_rnti |
LteUePhySapProvider * | m_uePhySapProvider |
LteUePhySapUser * | m_uePhySapUser |
std::map< uint8_t, uint64_t > | m_ulBsrReceived |
Friends | |
class | UeMemberLteMacSapProvider |
class | UeMemberLteUeCmacSapProvider |
class | UeMemberLteUePhySapUser |
Additional Inherited Members | |
![]() | |
Object (const Object &o) | |
virtual void | DoStart (void) |
virtual void | NotifyNewAggregate (void) |
ns3::LteUeMac is accessible through the following paths with Config::Set and Config::Connect:
No Attributes are defined for this type.
No TraceSources are defined for this type.
Definition at line 38 of file lte-ue-mac.h.
ns3::LteUeMac::LteUeMac | ( | ) |
Definition at line 187 of file lte-ue-mac.cc.
References m_cmacSapProvider, m_macSapProvider, m_uePhySapUser, NS_LOG_FUNCTION, UeMemberLteMacSapProvider, UeMemberLteUeCmacSapProvider, and UeMemberLteUePhySapUser.
|
virtual |
Definition at line 200 of file lte-ue-mac.cc.
References NS_LOG_FUNCTION.
|
private |
Definition at line 327 of file lte-ue-mac.cc.
References m_macSapUserMap, NS_ASSERT_MSG, and NS_LOG_FUNCTION.
Referenced by ns3::UeMemberLteUeCmacSapProvider::AddLc().
|
private |
Definition at line 320 of file lte-ue-mac.cc.
References m_rnti, and NS_LOG_FUNCTION.
Referenced by ns3::UeMemberLteUeCmacSapProvider::ConfigureUe().
|
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 206 of file lte-ue-mac.cc.
References m_cmacSapProvider, m_macSapProvider, m_uePhySapUser, and NS_LOG_FUNCTION.
|
private |
Definition at line 368 of file lte-ue-mac.cc.
References ns3::LteControlMessage::GetMessageType(), m_macSapUserMap, m_ulBsrReceived, NS_ASSERT_MSG, NS_LOG_ERROR, NS_LOG_FUNCTION, and ns3::LteControlMessage::UL_DCI.
Referenced by ns3::UeMemberLteUePhySapUser::ReceiveLteControlMessage().
Definition at line 353 of file lte-ue-mac.cc.
References ns3::LteRadioBearerTag::GetLcid(), ns3::LteRadioBearerTag::GetRnti(), m_macSapUserMap, m_rnti, NS_ASSERT_MSG, and ns3::Packet::RemovePacketTag().
Referenced by ns3::UeMemberLteUePhySapUser::ReceivePhyPdu().
|
private |
Definition at line 335 of file lte-ue-mac.cc.
References m_macSapUserMap, NS_ASSERT_MSG, and NS_LOG_FUNCTION.
Referenced by ns3::UeMemberLteUeCmacSapProvider::RemoveLc().
|
private |
Definition at line 263 of file lte-ue-mac.cc.
References ns3::LteMacSapProvider::ReportBufferStatusParameters::lcid, m_freshUlBsr, m_ulBsrReceived, NS_LOG_FUNCTION, ns3::LteMacSapProvider::ReportBufferStatusParameters::retxQueueSize, ns3::LteMacSapProvider::ReportBufferStatusParameters::statusPduSize, and ns3::LteMacSapProvider::ReportBufferStatusParameters::txQueueSize.
Referenced by ns3::UeMemberLteMacSapProvider::ReportBufferStatus().
|
private |
Definition at line 343 of file lte-ue-mac.cc.
References ns3::LteUeConfig_t::m_srsConfigurationIndex, ns3::LteUeConfig_t::m_transmissionMode, m_uePhySapProvider, NS_LOG_FUNCTION, ns3::LteUePhySapProvider::SetSrsConfigurationIndex(), and ns3::LteUePhySapProvider::SetTransmissionMode().
Referenced by ns3::UeMemberLteUeCmacSapProvider::RrcUpdateConfigurationReq().
void ns3::LteUeMac::DoSubframeIndication | ( | uint32_t | frameNo, |
uint32_t | subframeNo | ||
) |
Forwarded from LteUePhySapUser: trigger the start from a new frame.
frameNo | frame number |
subframeNo | subframe number |
Definition at line 419 of file lte-ue-mac.cc.
References m_bsrLast, m_bsrPeriodicity, m_freshUlBsr, ns3::Now(), ns3::Simulator::Now(), NS_LOG_FUNCTION, and SendReportBufferStatus().
Referenced by ns3::UeMemberLteUePhySapUser::SubframeIndication().
|
private |
Definition at line 249 of file lte-ue-mac.cc.
References ns3::Packet::AddPacketTag(), ns3::LteMacSapProvider::TransmitPduParameters::lcid, m_rnti, m_uePhySapProvider, NS_ASSERT_MSG, NS_LOG_FUNCTION, ns3::LteMacSapProvider::TransmitPduParameters::pdu, ns3::LteMacSapProvider::TransmitPduParameters::rnti, and ns3::LteUePhySapProvider::SendMacPdu().
Referenced by ns3::UeMemberLteMacSapProvider::TransmitPdu().
LteMacSapProvider * ns3::LteUeMac::GetLteMacSapProvider | ( | void | ) |
Definition at line 230 of file lte-ue-mac.cc.
References m_macSapProvider.
Referenced by ns3::LteHelper::InstallSingleUeDevice().
LteUeCmacSapProvider * ns3::LteUeMac::GetLteUeCmacSapProvider | ( | void | ) |
Definition at line 242 of file lte-ue-mac.cc.
References m_cmacSapProvider.
Referenced by ns3::LteHelper::InstallSingleUeDevice().
LteUePhySapUser * ns3::LteUeMac::GetLteUePhySapUser | ( | void | ) |
Get the PHY SAP user.
Definition at line 217 of file lte-ue-mac.cc.
References m_uePhySapUser.
Referenced by ns3::LteHelper::InstallSingleUeDevice().
|
static |
Reimplemented from ns3::Object.
Definition at line 178 of file lte-ue-mac.cc.
References ns3::TypeId::SetParent().
|
private |
Definition at line 285 of file lte-ue-mac.cc.
References ns3::MacCeListElement_s::BSR, ns3::BufferSizeLevelBsr::BufferSize2BsrId(), ns3::MacCeValue_u::m_bufferStatus, ns3::MacCeListElement_s::m_macCeType, ns3::MacCeListElement_s::m_macCeValue, m_rnti, ns3::MacCeListElement_s::m_rnti, m_uePhySapProvider, m_ulBsrReceived, NS_LOG_FUNCTION, and ns3::LteUePhySapProvider::SendLteControlMessage().
Referenced by DoSubframeIndication().
void ns3::LteUeMac::SetLteUeCmacSapUser | ( | LteUeCmacSapUser * | s | ) |
Definition at line 236 of file lte-ue-mac.cc.
References m_cmacSapUser.
Referenced by ns3::LteHelper::InstallSingleUeDevice().
void ns3::LteUeMac::SetLteUePhySapProvider | ( | LteUePhySapProvider * | s | ) |
Set the PHY SAP Provider.
s | a pointer to the PHY SAP Provider |
Definition at line 223 of file lte-ue-mac.cc.
References m_uePhySapProvider.
Referenced by ns3::LteHelper::InstallSingleUeDevice().
|
friend |
Definition at line 41 of file lte-ue-mac.h.
Referenced by LteUeMac().
|
friend |
Definition at line 40 of file lte-ue-mac.h.
Referenced by LteUeMac().
|
friend |
Definition at line 42 of file lte-ue-mac.h.
Referenced by LteUeMac().
|
private |
Definition at line 106 of file lte-ue-mac.h.
Referenced by DoSubframeIndication().
|
private |
Definition at line 105 of file lte-ue-mac.h.
Referenced by DoSubframeIndication().
|
private |
Definition at line 98 of file lte-ue-mac.h.
Referenced by DoDispose(), GetLteUeCmacSapProvider(), and LteUeMac().
|
private |
Definition at line 97 of file lte-ue-mac.h.
Referenced by SetLteUeCmacSapUser().
|
private |
Definition at line 108 of file lte-ue-mac.h.
Referenced by DoReportBufferStatus(), and DoSubframeIndication().
|
private |
Definition at line 95 of file lte-ue-mac.h.
Referenced by DoDispose(), GetLteMacSapProvider(), and LteUeMac().
|
private |
Definition at line 94 of file lte-ue-mac.h.
Referenced by DoAddLc(), DoReceiveLteControlMessage(), DoReceivePhyPdu(), and DoRemoveLc().
|
private |
Definition at line 111 of file lte-ue-mac.h.
Referenced by DoConfigureUe(), DoReceivePhyPdu(), DoTransmitPdu(), and SendReportBufferStatus().
|
private |
Definition at line 100 of file lte-ue-mac.h.
Referenced by DoRrcUpdateConfigurationReq(), DoTransmitPdu(), SendReportBufferStatus(), and SetLteUePhySapProvider().
|
private |
Definition at line 101 of file lte-ue-mac.h.
Referenced by DoDispose(), GetLteUePhySapUser(), and LteUeMac().
|
private |
Definition at line 103 of file lte-ue-mac.h.
Referenced by DoReceiveLteControlMessage(), DoReportBufferStatus(), and SendReportBufferStatus().