Component carrier manager implementation that splits traffic equally among carriers. More...
#include "no-op-component-carrier-manager.h"
Public Member Functions | |
RrComponentCarrierManager () | |
~RrComponentCarrierManager () override | |
Public Member Functions inherited from ns3::NoOpComponentCarrierManager | |
NoOpComponentCarrierManager () | |
~NoOpComponentCarrierManager () override | |
Public Member Functions inherited from ns3::LteEnbComponentCarrierManager | |
LteEnbComponentCarrierManager () | |
~LteEnbComponentCarrierManager () override | |
virtual LteCcmMacSapUser * | GetLteCcmMacSapUser () |
This function returns a pointer to the LteCcmMacSapUser interface, which is used by MAC to communicate to CCM when e.g. | |
virtual LteCcmRrcSapProvider * | GetLteCcmRrcSapProvider () |
Export the "provider" part of the ComponentCarrier Management SAP interface. | |
virtual LteMacSapProvider * | GetLteMacSapProvider () |
Returns the pointer to the LteMacSapProvider interface, the provider of MAC, which is this new architecture served by LteEnbComponentCarrierManager object which will behave as a proxy, and will forward calls between to MAC objects of component carriers based on the logic implemented in the specific component carrier manager. | |
virtual bool | SetCcmMacSapProviders (uint8_t componentCarrierId, LteCcmMacSapProvider *sap) |
Set LteCcmMacSapProvider interface for the MAC object of the specified component carrier. | |
virtual void | SetLteCcmRrcSapUser (LteCcmRrcSapUser *s) |
Set the "user" part of the ComponentCarrier Management SAP interface that this ComponentCarrier algorithm instance will interact with. | |
virtual bool | SetMacSapProvider (uint8_t componentCarrierId, LteMacSapProvider *sap) |
Set LteMacSapProvider interface for the MAC object of the specified component carrier. | |
virtual void | SetNumberOfComponentCarriers (uint16_t noOfComponentCarriers) |
Sets the total number of component carriers. | |
Public Member Functions inherited from ns3::Object | |
Object () | |
Constructor. | |
~Object () override | |
Destructor. | |
void | AggregateObject (Ptr< Object > other) |
Aggregate two Objects together. | |
void | Dispose () |
Dispose of this Object. | |
AggregateIterator | GetAggregateIterator () const |
Get an iterator to the Objects aggregated to this one. | |
TypeId | GetInstanceTypeId () const override |
Get the most derived TypeId for this Object. | |
template<typename T > | |
Ptr< T > | GetObject () const |
Get a pointer to the requested aggregated Object. | |
template<> | |
Ptr< Object > | GetObject () const |
Specialization of () for objects of type ns3::Object. | |
template<typename T > | |
Ptr< T > | GetObject (TypeId tid) const |
Get a pointer to the requested aggregated Object by TypeId. | |
template<> | |
Ptr< Object > | GetObject (TypeId tid) const |
Specialization of (TypeId tid) for objects of type ns3::Object. | |
void | Initialize () |
Invoke DoInitialize on all Objects aggregated to this one. | |
bool | IsInitialized () const |
Check if the object has been initialized. | |
void | UnidirectionalAggregateObject (Ptr< Object > other) |
Aggregate an Object to another Object. | |
Public Member Functions inherited from ns3::SimpleRefCount< Object, ObjectBase, ObjectDeleter > | |
SimpleRefCount () | |
Default constructor. | |
SimpleRefCount (const SimpleRefCount &o) | |
Copy constructor. | |
uint32_t | GetReferenceCount () const |
Get the reference count of the object. | |
SimpleRefCount & | operator= (const SimpleRefCount &o) |
Assignment operator. | |
void | Ref () const |
Increment the reference count. | |
void | Unref () const |
Decrement the reference count. | |
Public Member Functions inherited from ns3::ObjectBase | |
virtual | ~ObjectBase () |
Virtual destructor. | |
void | GetAttribute (std::string name, AttributeValue &value, bool permissive=false) const |
Get the value of an attribute, raising fatal errors if unsuccessful. | |
bool | GetAttributeFailSafe (std::string name, AttributeValue &value) const |
Get the value of an attribute without raising errors. | |
void | SetAttribute (std::string name, const AttributeValue &value) |
Set a single attribute, raising fatal errors if unsuccessful. | |
bool | SetAttributeFailSafe (std::string name, const AttributeValue &value) |
Set a single attribute without raising errors. | |
bool | TraceConnect (std::string name, std::string context, const CallbackBase &cb) |
Connect a TraceSource to a Callback with a context. | |
bool | TraceConnectWithoutContext (std::string name, const CallbackBase &cb) |
Connect a TraceSource to a Callback without a context. | |
bool | TraceDisconnect (std::string name, std::string context, const CallbackBase &cb) |
Disconnect from a TraceSource a Callback previously connected with a context. | |
bool | TraceDisconnectWithoutContext (std::string name, const CallbackBase &cb) |
Disconnect from a TraceSource a Callback previously connected without a context. | |
Static Public Member Functions | |
static TypeId | GetTypeId () |
Get the type ID. | |
Static Public Member Functions inherited from ns3::NoOpComponentCarrierManager | |
static TypeId | GetTypeId () |
Get the type ID. | |
Static Public Member Functions inherited from ns3::LteEnbComponentCarrierManager | |
static TypeId | GetTypeId () |
Get the type ID. | |
Static Public Member Functions inherited from ns3::Object | |
static TypeId | GetTypeId () |
Register this type. | |
Static Public Member Functions inherited from ns3::ObjectBase | |
static TypeId | GetTypeId () |
Get the type ID. | |
Protected Member Functions | |
void | DoReportBufferStatus (LteMacSapProvider::ReportBufferStatusParameters params) override |
Report buffer status. | |
void | DoUlReceiveMacCe (MacCeListElement_s bsr, uint8_t componentCarrierId) override |
Forwards uplink BSR to CCM, called by MAC through CCM SAP interface. | |
void | DoUlReceiveSr (uint16_t rnti, uint8_t componentCarrierId) override |
Forward uplink SR to CCM, called by MAC through CCM SAP interface. | |
Protected Member Functions inherited from ns3::NoOpComponentCarrierManager | |
virtual void | DoAddLc (LteEnbCmacSapProvider::LcInfo lcInfo, LteMacSapUser *msu) |
Add LC. | |
virtual void | DoAddUe (uint16_t rnti, uint8_t state) |
Add UE. | |
virtual LteMacSapUser * | DoConfigureSignalBearer (LteEnbCmacSapProvider::LcInfo lcinfo, LteMacSapUser *msu) |
Configure the signal bearer. | |
void | DoDispose () override |
Destructor implementation. | |
void | DoInitialize () override |
Initialize() implementation. | |
virtual void | DoNotifyHarqDeliveryFailure () |
Notify HARQ delivery failure. | |
virtual void | DoNotifyPrbOccupancy (double prbOccupancy, uint8_t componentCarrierId) |
Function implements the function of the SAP interface of CCM instance which is used by MAC to notify the PRB occupancy reported by scheduler. | |
virtual void | DoNotifyTxOpportunity (LteMacSapUser::TxOpportunityParameters txOpParams) |
Notify transmit opportunity. | |
virtual void | DoReceivePdu (LteMacSapUser::ReceivePduParameters rxPduParams) |
Receive PDU. | |
virtual std::vector< uint8_t > | DoReleaseDataRadioBearer (uint16_t rnti, uint8_t lcid) |
Release data radio bearer. | |
virtual void | DoRemoveUe (uint16_t rnti) |
Remove UE. | |
void | DoReportUeMeas (uint16_t rnti, LteRrcSap::MeasResults measResults) override |
Implementation of ReportUeMeas. | |
virtual std::vector< LteCcmRrcSapProvider::LcsConfig > | DoSetupDataRadioBearer (EpsBearer bearer, uint8_t bearerId, uint16_t rnti, uint8_t lcid, uint8_t lcGroup, LteMacSapUser *msu) |
Setup data radio bearer. | |
virtual void | DoTransmitPdu (LteMacSapProvider::TransmitPduParameters params) |
Transmit PDU. | |
Protected Member Functions inherited from ns3::Object | |
Object (const Object &o) | |
Copy an Object. | |
virtual void | NotifyNewAggregate () |
Notify all Objects aggregated to this one of a new Object being aggregated. | |
Protected Member Functions inherited from ns3::ObjectBase | |
void | ConstructSelf (const AttributeConstructionList &attributes) |
Complete construction of ObjectBase; invoked by derived classes. | |
virtual void | NotifyConstructionCompleted () |
Notifier called once the ObjectBase is fully constructed. | |
Private Attributes | |
uint8_t | m_lastCcIdForSr {0} |
Last CCID to which a SR was routed. | |
Additional Inherited Members | |
Protected Attributes inherited from ns3::NoOpComponentCarrierManager | |
std::map< uint8_t, double > | m_ccPrbOccupancy |
The physical resource block occupancy per carrier. | |
Protected Attributes inherited from ns3::LteEnbComponentCarrierManager | |
std::map< uint8_t, LteCcmMacSapProvider * > | m_ccmMacSapProviderMap |
A map of pointers to the SAP interfaces of CCM instance that provides the CCM specific functionalities to MAC, i.e. | |
LteCcmMacSapUser * | m_ccmMacSapUser |
LteCcmMacSapUser is extended version of LteMacSapUser interface. | |
LteCcmRrcSapProvider * | m_ccmRrcSapProvider |
A pointer to the SAP interface of the CCM instance to receive API calls from the eNodeB RRC instance. | |
LteCcmRrcSapUser * | m_ccmRrcSapUser |
A pointer to SAP interface of RRC instance, i.e. | |
LteMacSapProvider * | m_macSapProvider |
A pointer to main SAP interface of the MAC instance, which is in this case handled by CCM. | |
std::map< uint8_t, LteMacSapProvider * > | m_macSapProvidersMap |
A map of pointers to real SAP interfaces of MAC instances. | |
uint16_t | m_noOfComponentCarriers |
The number component of carriers that are supported by this eNb. | |
Ptr< LteEnbRrc > | m_rrc |
A pointer to the RRC instance of this eNb. | |
std::map< uint16_t, UeInfo > | m_ueInfo |
The map from RNTI to UE information. | |
Related Symbols inherited from ns3::ObjectBase | |
static TypeId | GetObjectIid () |
Ensure the TypeId for ObjectBase gets fully configured to anchor the inheritance tree properly. | |
Component carrier manager implementation that splits traffic equally among carriers.
Definition at line 159 of file no-op-component-carrier-manager.h.
ns3::RrComponentCarrierManager::RrComponentCarrierManager | ( | ) |
Definition at line 365 of file no-op-component-carrier-manager.cc.
References NS_LOG_FUNCTION.
|
override |
Definition at line 370 of file no-op-component-carrier-manager.cc.
References NS_LOG_FUNCTION.
|
overrideprotectedvirtual |
Report buffer status.
params | the report buffer status parameters |
Reimplemented from ns3::NoOpComponentCarrierManager.
Definition at line 386 of file no-op-component-carrier-manager.cc.
References ns3::LteCcmRrcSapUser::GetUeManager(), ns3::LteEnbComponentCarrierManager::m_ccmRrcSapUser, ns3::LteEnbComponentCarrierManager::m_macSapProvidersMap, ns3::LteEnbComponentCarrierManager::m_ueInfo, NS_ASSERT_MSG, NS_LOG_FUNCTION, and NS_LOG_INFO.
|
overrideprotectedvirtual |
Forwards uplink BSR to CCM, called by MAC through CCM SAP interface.
bsr | the BSR |
componentCarrierId | the component carrier ID |
Reimplemented from ns3::NoOpComponentCarrierManager.
Definition at line 412 of file no-op-component-carrier-manager.cc.
References ns3::MacCeListElement_s::BSR, ns3::BufferSizeLevelBsr::BsrId2BufferSize(), ns3::BufferSizeLevelBsr::BufferSize2BsrId(), ns3::LteCcmRrcSapUser::GetUeManager(), ns3::MacCeValue_u::m_bufferStatus, ns3::LteEnbComponentCarrierManager::m_ccmMacSapProviderMap, ns3::LteEnbComponentCarrierManager::m_ccmRrcSapUser, ns3::MacCeValue_u::m_crnti, ns3::MacCeListElement_s::m_macCeValue, ns3::MacCeValue_u::m_phr, ns3::MacCeListElement_s::m_rnti, ns3::LteEnbComponentCarrierManager::m_ueInfo, NS_ASSERT_MSG, and NS_LOG_FUNCTION.
|
overrideprotectedvirtual |
Forward uplink SR to CCM, called by MAC through CCM SAP interface.
rnti | RNTI of the UE that requested SR |
componentCarrierId | the component carrier ID that forwarded the SR |
Reimplemented from ns3::NoOpComponentCarrierManager.
Definition at line 466 of file no-op-component-carrier-manager.cc.
References ns3::LteEnbComponentCarrierManager::m_ccmMacSapProviderMap, m_lastCcIdForSr, ns3::LteEnbComponentCarrierManager::m_ueInfo, and NS_LOG_FUNCTION.
|
static |
Get the type ID.
Definition at line 376 of file no-op-component-carrier-manager.cc.
References ns3::TypeId::SetParent().
|
private |
Last CCID to which a SR was routed.
Definition at line 177 of file no-op-component-carrier-manager.h.
Referenced by DoUlReceiveSr().