![]() |
5G-LENA nr-v4.0
The 5G/NR module for the ns-3 simulator
|
Component carrier manager implementation that splits traffic equally among carriers. More...
#include "nr-no-op-component-carrier-manager.h"
Static Public Member Functions | |
static TypeId | GetTypeId () |
Get the type ID. | |
![]() | |
static TypeId | GetTypeId () |
Get the type ID. | |
![]() | |
static TypeId | GetTypeId () |
Get the type ID. | |
Protected Member Functions | |
void | DoTransmitBufferStatusReport (NrMacSapProvider::BufferStatusReportParameters params) override |
Buffer status report. | |
void | DoUlReceiveMacCe (nr::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. | |
![]() | |
virtual void | DoAddLc (NrGnbCmacSapProvider::LcInfo lcInfo, NrMacSapUser *msu) |
Add LC. | |
virtual void | DoAddUe (uint16_t rnti, uint8_t state) |
Add UE. | |
virtual NrMacSapUser * | DoConfigureSignalBearer (NrGnbCmacSapProvider::LcInfo lcinfo, NrMacSapUser *msu) |
Configure the signal bearer. | |
void | DoDispose () override |
void | DoInitialize () override |
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 (NrMacSapUser::TxOpportunityParameters txOpParams) |
Notify transmit opportunity. | |
virtual void | DoReceivePdu (NrMacSapUser::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, NrRrcSap::MeasResults measResults) override |
Implementation of ReportUeMeas. | |
virtual std::vector< NrCcmRrcSapProvider::LcsConfig > | DoSetupDataRadioBearer (NrEpsBearer bearer, uint8_t bearerId, uint16_t rnti, uint8_t lcid, uint8_t lcGroup, NrMacSapUser *msu) |
Setup data radio bearer. | |
virtual void | DoTransmitPdu (NrMacSapProvider::TransmitPduParameters params) |
Transmit PDU. | |
![]() | |
void | DoDispose () override |
Additional Inherited Members | |
![]() | |
virtual NrCcmMacSapUser * | GetNrCcmMacSapUser () |
This function returns a pointer to the NrCcmMacSapUser interface, which is used by MAC to communicate to CCM when e.g. UL buffer status report is received, or to notify CCM about PRB occupancy, and similar. Functions that are specific for the communication between MAC and CCM. | |
virtual NrCcmRrcSapProvider * | GetNrCcmRrcSapProvider () |
Export the "provider" part of the NrComponentCarrier Management SAP interface. | |
virtual NrMacSapProvider * | GetNrMacSapProvider () |
Returns the pointer to the NrMacSapProvider interface, the provider of MAC, which is this new architecture served by NrGnbComponentCarrierManager 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, NrCcmMacSapProvider *sap) |
Set NrCcmMacSapProvider interface for the MAC object of the specified component carrier. Through this interface CCM communicates with MAC, e.g. it notifies MAC of the specific carrier when to scheduler UL BSR. | |
virtual bool | SetMacSapProvider (uint8_t componentCarrierId, NrMacSapProvider *sap) |
Set NrMacSapProvider interface for the MAC object of the specified component carrier. | |
virtual void | SetNrCcmRrcSapUser (NrCcmRrcSapUser *s) |
Set the "user" part of the NrComponentCarrier Management SAP interface that this NrComponentCarrier algorithm instance will interact with. | |
virtual void | SetNumberOfComponentCarriers (uint16_t noOfComponentCarriers) |
Sets the total number of component carriers. | |
![]() | |
std::map< uint8_t, double > | m_ccPrbOccupancy |
The physical resource block occupancy per carrier. | |
![]() | |
std::map< uint8_t, NrCcmMacSapProvider * > | m_ccmMacSapProviderMap |
NrCcmMacSapUser * | m_ccmMacSapUser |
NrCcmRrcSapProvider * | m_ccmRrcSapProvider |
NrCcmRrcSapUser * | m_ccmRrcSapUser |
NrMacSapProvider * | m_macSapProvider |
std::map< uint8_t, NrMacSapProvider * > | m_macSapProvidersMap |
A map of pointers to real SAP interfaces of MAC instances. | |
uint16_t | m_noOfComponentCarriers |
Ptr< NrGnbRrc > | m_rrc |
A pointer to the RRC instance of this eNb. | |
std::map< uint16_t, NrUeInfo > | m_ueInfo |
The map from RNTI to UE information. | |
Component carrier manager implementation that splits traffic equally among carriers.
ns3::NrRrComponentCarrierManager is accessible through the following paths with Config::Set and Config::Connect:
/NodeList/[i]/DeviceList/[i]/$ns3::NrGnbNetDevice/NrGnbComponentCarrierManager/$ns3::NrNoOpComponentCarrierManager/$ns3::NrRrComponentCarrierManager
/NodeList/[i]/DeviceList/[i]/$ns3::NrGnbNetDevice/NrGnbComponentCarrierManager/$ns3::NrRrComponentCarrierManager
/NodeList/[i]/DeviceList/[i]/$ns3::NrNetDevice/$ns3::NrGnbNetDevice/NrGnbComponentCarrierManager/$ns3::NrNoOpComponentCarrierManager/$ns3::NrRrComponentCarrierManager
/NodeList/[i]/DeviceList/[i]/$ns3::NrNetDevice/$ns3::NrGnbNetDevice/NrGnbComponentCarrierManager/$ns3::NrRrComponentCarrierManager
No Attributes are defined for this type.
No TraceSources are defined for this type.
Size of this type is 304 bytes (on a 64-bit architecture).
Definition at line 159 of file nr-no-op-component-carrier-manager.h.
ns3::NrRrComponentCarrierManager::NrRrComponentCarrierManager | ( | ) |
Definition at line 366 of file nr-no-op-component-carrier-manager.cc.
|
override |
Definition at line 371 of file nr-no-op-component-carrier-manager.cc.
|
overrideprotectedvirtual |
Buffer status report.
params | the buffer status report parameters |
Reimplemented from ns3::NrNoOpComponentCarrierManager.
Definition at line 387 of file nr-no-op-component-carrier-manager.cc.
References ns3::NrCcmRrcSapUser::GetUeManager(), ns3::NrMacSapProvider::BufferStatusReportParameters::lcid, ns3::NrGnbComponentCarrierManager::m_ccmRrcSapUser, ns3::NrGnbComponentCarrierManager::m_macSapProvidersMap, ns3::NrGnbComponentCarrierManager::m_ueInfo, ns3::NrMacSapProvider::BufferStatusReportParameters::retxQueueSize, ns3::NrMacSapProvider::BufferStatusReportParameters::rnti, and ns3::NrMacSapProvider::BufferStatusReportParameters::txQueueSize.
|
overrideprotectedvirtual |
Forwards uplink BSR to CCM, called by MAC through CCM SAP interface.
bsr | the BSR |
componentCarrierId | the component carrier ID |
Reimplemented from ns3::NrNoOpComponentCarrierManager.
Definition at line 413 of file nr-no-op-component-carrier-manager.cc.
References ns3::nr::BufferSizeLevelBsr::BsrId2BufferSize(), ns3::nr::BufferSizeLevelBsr::BufferSize2BsrId(), ns3::NrCcmRrcSapUser::GetUeManager(), ns3::nr::MacCeValue_u::m_bufferStatus, ns3::NrGnbComponentCarrierManager::m_ccmMacSapProviderMap, ns3::NrGnbComponentCarrierManager::m_ccmRrcSapUser, ns3::nr::MacCeValue_u::m_crnti, ns3::nr::MacCeListElement_s::m_macCeValue, ns3::nr::MacCeValue_u::m_phr, ns3::nr::MacCeListElement_s::m_rnti, and ns3::NrGnbComponentCarrierManager::m_ueInfo.
|
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::NrNoOpComponentCarrierManager.
Definition at line 468 of file nr-no-op-component-carrier-manager.cc.
References ns3::NrGnbComponentCarrierManager::m_ccmMacSapProviderMap, and ns3::NrGnbComponentCarrierManager::m_ueInfo.
|
static |
Get the type ID.
Definition at line 377 of file nr-no-op-component-carrier-manager.cc.