5G-LENA nr-v3.3-81-g75c7590d
The 5G/NR module for the ns-3 simulator
|
The BwpManagerUe class. More...
#include "bwp-manager-ue.h"
Public Member Functions | |
BwpManagerUe () | |
BwpManagerUe constructor. | |
~BwpManagerUe () override | |
~BwpManagerUe | |
uint8_t | RouteDlHarqFeedback (const DlHarqInfo &m) const |
The UE received a HARQ feedback from spectrum. Where this feedback should be forwarded? | |
uint8_t | RouteIngoingCtrlMsg (const Ptr< NrControlMessage > &msg, uint8_t sourceBwpId) const |
Decide the BWP for the control message received. | |
uint8_t | RouteOutgoingCtrlMsg (const Ptr< NrControlMessage > &msg, uint8_t sourceBwpId) const |
Route the outgoing messages to the right BWP. | |
void | SetBwpManagerAlgorithm (const Ptr< BwpManagerAlgorithm > &algorithm) |
Set the algorithm. | |
void | SetOutputLink (uint32_t sourceBwp, uint32_t outputBwp) |
Set a mapping between two BWP. | |
Public Member Functions inherited from ns3::NrSimpleUeComponentCarrierManager | |
NrSimpleUeComponentCarrierManager () | |
Creates a No-op CCS algorithm instance. | |
NrMacSapProvider * | GetNrMacSapProvider () override |
Returns the MAC sap provider interface that if forwarding calls to the instance of the NrUeComponentCarrierManager. | |
Public Member Functions inherited from ns3::NrUeComponentCarrierManager | |
virtual NrUeCcmRrcSapProvider * | GetNrCcmRrcSapProvider () |
Exports the "provider" part of the NrComponentCarrier Management SAP interface. | |
bool | SetComponentCarrierMacSapProviders (uint8_t componentCarrierId, NrMacSapProvider *sap) |
Sets a pointer to SAP interface of MAC instance for the specified carrier. | |
virtual void | SetNrCcmRrcSapUser (NrUeCcmRrcSapUser *s) |
Set the "user" part of the NrComponentCarrier Management SAP interface that this UE component carrier manager will interact with. | |
void | SetNumberOfComponentCarriers (uint8_t noOfComponentCarriers) |
Sets number of component carriers that are supported by this UE. | |
Static Public Member Functions | |
static TypeId | GetTypeId () |
GetTypeId. | |
Static Public Member Functions inherited from ns3::NrSimpleUeComponentCarrierManager | |
static TypeId | GetTypeId () |
Get the type ID. | |
Static Public Member Functions inherited from ns3::NrUeComponentCarrierManager | |
static TypeId | GetTypeId () |
Get the type ID. | |
Protected Member Functions | |
std::vector< NrUeCcmRrcSapProvider::LcsConfig > | DoAddLc (uint8_t lcId, NrUeCmacSapProvider::LogicalChannelConfig lcConfig, NrMacSapUser *msu) override |
Add LC function. | |
NrMacSapUser * | DoConfigureSignalBearer (uint8_t lcId, NrUeCmacSapProvider::LogicalChannelConfig lcConfig, NrMacSapUser *msu) override |
Configure signal bearer function. | |
void | DoReportBufferStatus (NrMacSapProvider::ReportBufferStatusParameters params) override |
Report buffer status function. | |
Ptr< const BwpManagerAlgorithm > | GetAlgorithm () const |
Protected Member Functions inherited from ns3::NrSimpleUeComponentCarrierManager | |
void | DoDispose () override |
void | DoInitialize () override |
void | DoNotifyHarqDeliveryFailure () |
Notify HARQ deliver failure. | |
void | DoNotifyTxOpportunity (NrMacSapUser::TxOpportunityParameters txOpParams) |
Notify TX opportunity function. | |
void | DoReceivePdu (NrMacSapUser::ReceivePduParameters rxPduParams) |
Receive PDU function. | |
std::vector< uint16_t > | DoRemoveLc (uint8_t lcid) |
Remove LC function. | |
void | DoReportUeMeas (uint16_t rnti, NrRrcSap::MeasResults measResults) |
Report Ue Measure function. | |
void | DoReset () |
Reset LC map. | |
void | DoTransmitPdu (NrMacSapProvider::TransmitPduParameters params) |
Transmit PDU function. | |
Protected Member Functions inherited from ns3::NrUeComponentCarrierManager | |
void | DoDispose () override |
Additional Inherited Members | |
Protected Attributes inherited from ns3::NrSimpleUeComponentCarrierManager | |
NrMacSapProvider * | m_ccmMacSapProvider |
Receive API calls from the UE RLC instance. | |
NrMacSapUser * | m_ccmMacSapUser |
Interface to the UE RLC instance. | |
Protected Attributes inherited from ns3::NrUeComponentCarrierManager | |
NrUeCcmRrcSapProvider * | m_ccmRrcSapProvider |
Receive API calls from the UE RRC instance. | |
NrUeCcmRrcSapUser * | m_ccmRrcSapUser |
Interface to the UE RRC instance. | |
std::map< uint8_t, std::map< uint8_t, NrMacSapProvider * > > | m_componentCarrierLcMap |
Flow configuration per flow Id of this UE. | |
std::map< uint8_t, NrMacSapUser * > | m_lcAttached |
std::map< uint8_t, NrMacSapProvider * > | m_macSapProvidersMap |
uint8_t | m_noOfComponentCarriers |
The number of component carriers that this UE can support. | |
The BwpManagerUe class.
ns3::BwpManagerUe is accessible through the following paths with Config::Set and Config::Connect:
/NodeList/[i]/DeviceList/[i]/$ns3::NrNetDevice/$ns3::NrUeNetDevice/NrUeComponentCarrierManager/$ns3::BwpManagerUe
/NodeList/[i]/DeviceList/[i]/$ns3::NrNetDevice/$ns3::NrUeNetDevice/NrUeComponentCarrierManager/$ns3::NrSimpleUeComponentCarrierManager/$ns3::BwpManagerUe
/NodeList/[i]/DeviceList/[i]/$ns3::NrUeNetDevice/NrUeComponentCarrierManager/$ns3::BwpManagerUe
/NodeList/[i]/DeviceList/[i]/$ns3::NrUeNetDevice/NrUeComponentCarrierManager/$ns3::NrSimpleUeComponentCarrierManager/$ns3::BwpManagerUe
No TraceSources are defined for this type.
Size of this type is 360 bytes (on a 64-bit architecture).
Definition at line 23 of file bwp-manager-ue.h.
ns3::BwpManagerUe::BwpManagerUe | ( | ) |
BwpManagerUe constructor.
Definition at line 19 of file bwp-manager-ue.cc.
|
override |
~BwpManagerUe
Definition at line 25 of file bwp-manager-ue.cc.
|
overrideprotectedvirtual |
Add LC function.
lcId | the LCID |
lcConfig | the logical channel config |
msu | the MSU |
Reimplemented from ns3::NrSimpleUeComponentCarrierManager.
Definition at line 69 of file bwp-manager-ue.cc.
References ns3::NrSimpleUeComponentCarrierManager::DoAddLc(), and ns3::NrUeCmacSapProvider::LogicalChannelConfig::priority.
|
overrideprotectedvirtual |
Configure signal bearer function.
lcId | the LCID |
lcConfig | the logical channel config |
msu | the MSU |
Reimplemented from ns3::NrSimpleUeComponentCarrierManager.
Definition at line 86 of file bwp-manager-ue.cc.
References ns3::NrSimpleUeComponentCarrierManager::DoConfigureSignalBearer(), and ns3::NrUeCmacSapProvider::LogicalChannelConfig::priority.
|
overrideprotectedvirtual |
Report buffer status function.
params | NrMacSapProvider::ReportBufferStatusParameters |
Reimplemented from ns3::NrSimpleUeComponentCarrierManager.
Definition at line 53 of file bwp-manager-ue.cc.
References ns3::NrMacSapProvider::ReportBufferStatusParameters::lcid, ns3::NrUeComponentCarrierManager::m_componentCarrierLcMap, and ns3::NrMacSapProvider::ReportBufferStatusParameters::txQueueSize.
|
protected |
Allow subclasses to access BwpManagerAlgorithm
Definition at line 147 of file bwp-manager-ue.cc.
|
static |
uint8_t ns3::BwpManagerUe::RouteDlHarqFeedback | ( | const DlHarqInfo & | m | ) | const |
The UE received a HARQ feedback from spectrum. Where this feedback should be forwarded?
m | the feedback |
Definition at line 98 of file bwp-manager-ue.cc.
References ns3::HarqInfo::m_bwpIndex.
uint8_t ns3::BwpManagerUe::RouteIngoingCtrlMsg | ( | const Ptr< NrControlMessage > & | msg, |
uint8_t | sourceBwpId | ||
) | const |
Decide the BWP for the control message received.
msg | Message |
sourceBwpId | BWP Id from which this message come from. |
The routing is made following the bandwidth part reported in the message.
Definition at line 137 of file bwp-manager-ue.cc.
uint8_t ns3::BwpManagerUe::RouteOutgoingCtrlMsg | ( | const Ptr< NrControlMessage > & | msg, |
uint8_t | sourceBwpId | ||
) | const |
Route the outgoing messages to the right BWP.
msg | the message |
sourceBwpId | the source bwp of the message |
The routing is made by following the mapping provided through the function SetOutputLink. If no mapping has been installed, or if the sourceBwpId provided is not in the mapping, then forward the message back to the originating BWP.
Definition at line 113 of file bwp-manager-ue.cc.
void ns3::BwpManagerUe::SetBwpManagerAlgorithm | ( | const Ptr< BwpManagerAlgorithm > & | algorithm | ) |
Set the algorithm.
algorithm | pointer to the algorithm |
Definition at line 31 of file bwp-manager-ue.cc.
void ns3::BwpManagerUe::SetOutputLink | ( | uint32_t | sourceBwp, |
uint32_t | outputBwp | ||
) |
Set a mapping between two BWP.
sourceBwp | The messages that comes from this value... |
outputBwp | ... will get routed in this bandwidth part. |
Call it for each mapping you want to install.
Definition at line 106 of file bwp-manager-ue.cc.