5G-LENA nr-v3.0-32-g83aee33
The 5G/NR module for the ns-3 simulator
Loading...
Searching...
No Matches
ns3::BwpManagerGnb Class Reference

Bandwidth part manager that coordinates traffic over different bandwidth parts. More...

#include "bwp-manager-gnb.h"

+ Inheritance diagram for ns3::BwpManagerGnb:
+ Collaboration diagram for ns3::BwpManagerGnb:

Public Member Functions

uint8_t GetBwpIndex (uint16_t rnti, uint8_t lcid)
 Get the bwp index for the RNTI and LCID.
 
uint8_t PeekBwpIndex (uint16_t rnti, uint8_t lcid) const
 Get the bwp index for the RNTI and LCID.
 
uint8_t RouteIngoingCtrlMsgs (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.
 

Static Public Member Functions

static TypeId GetTypeId ()
 

Protected Member Functions

void DoNotifyTxOpportunity (LteMacSapUser::TxOpportunityParameters txOpParams) override
 
void DoReportBufferStatus (LteMacSapProvider::ReportBufferStatusParameters params) override
 
std::vector< LteCcmRrcSapProvider::LcsConfig > DoSetupDataRadioBearer (EpsBearer bearer, uint8_t bearerId, uint16_t rnti, uint8_t lcid, uint8_t lcGroup, LteMacSapUser *msu) override
 Overload DoSetupBadaRadioBearer to connect directly to Rlc retransmission buffer size.
 
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 SR to the right MAC instance through CCM SAP interface.
 

Detailed Description

Bandwidth part manager that coordinates traffic over different bandwidth parts.

Config Paths

ns3::BwpManagerGnb is accessible through the following paths with Config::Set and Config::Connect:

Attributes

No TraceSources are defined for this type.
Size of this type is 488 bytes (on a 64-bit architecture).

Definition at line 28 of file bwp-manager-gnb.h.

Constructor & Destructor Documentation

◆ BwpManagerGnb()

ns3::BwpManagerGnb::BwpManagerGnb ( )

Definition at line 23 of file bwp-manager-gnb.cc.

◆ ~BwpManagerGnb()

ns3::BwpManagerGnb::~BwpManagerGnb ( )
override

Definition at line 29 of file bwp-manager-gnb.cc.

Member Function Documentation

◆ DoNotifyTxOpportunity()

void ns3::BwpManagerGnb::DoNotifyTxOpportunity ( LteMacSapUser::TxOpportunityParameters  txOpParams)
overrideprotected

Definition at line 182 of file bwp-manager-gnb.cc.

◆ DoReportBufferStatus()

void ns3::BwpManagerGnb::DoReportBufferStatus ( LteMacSapProvider::ReportBufferStatusParameters  params)
overrideprotected

Definition at line 165 of file bwp-manager-gnb.cc.

◆ DoSetupDataRadioBearer()

std::vector< LteCcmRrcSapProvider::LcsConfig > ns3::BwpManagerGnb::DoSetupDataRadioBearer ( EpsBearer  bearer,
uint8_t  bearerId,
uint16_t  rnti,
uint8_t  lcid,
uint8_t  lcGroup,
LteMacSapUser *  msu 
)
overrideprotected

Overload DoSetupBadaRadioBearer to connect directly to Rlc retransmission buffer size.

Definition at line 68 of file bwp-manager-gnb.cc.

◆ DoUlReceiveMacCe()

void ns3::BwpManagerGnb::DoUlReceiveMacCe ( MacCeListElement_s  bsr,
uint8_t  componentCarrierId 
)
overrideprotected

Forwards uplink BSR to CCM, called by MAC through CCM SAP interface.

Parameters
bsrthe BSR
componentCarrierIdthe component carrier ID

Definition at line 197 of file bwp-manager-gnb.cc.

◆ DoUlReceiveSr()

void ns3::BwpManagerGnb::DoUlReceiveSr ( uint16_t  rnti,
uint8_t  componentCarrierId 
)
overrideprotected

Forward SR to the right MAC instance through CCM SAP interface.

Parameters
rntiRNTI of the UE that requested the SR
componentCarrierIdthe component carrier ID which received the SR

Definition at line 220 of file bwp-manager-gnb.cc.

◆ GetBwpIndex()

uint8_t ns3::BwpManagerGnb::GetBwpIndex ( uint16_t  rnti,
uint8_t  lcid 
)

Get the bwp index for the RNTI and LCID.

Parameters
rntiThe RNTI of the user
lcidThe LCID of the flow that we want to know the bwp index
Returns
The index of the BWP in which that LCID should go

Definition at line 88 of file bwp-manager-gnb.cc.

◆ GetTypeId()

TypeId ns3::BwpManagerGnb::GetTypeId ( )
static

Definition at line 35 of file bwp-manager-gnb.cc.

◆ PeekBwpIndex()

uint8_t ns3::BwpManagerGnb::PeekBwpIndex ( uint16_t  rnti,
uint8_t  lcid 
) const

Get the bwp index for the RNTI and LCID.

Parameters
rntiThe RNTI of the user
lcidThe LCID of the flow that we want to know the bwp index
Returns
The index of the BWP in which that LCID should go

Why this method? I wonder if you can imagine it... Hint: Think in a RR algorithm that returns a different bwp index for every call...

Definition at line 105 of file bwp-manager-gnb.cc.

◆ RouteIngoingCtrlMsgs()

uint8_t ns3::BwpManagerGnb::RouteIngoingCtrlMsgs ( const Ptr< NrControlMessage > &  msg,
uint8_t  sourceBwpId 
) const

Decide the BWP for the control message received.

Parameters
msgMessage
sourceBwpIdBWP Id from which this message come from.

The routing is made following the bandwidth part reported in the message.

Returns
the BWP Id to which this message should be routed to.

Definition at line 123 of file bwp-manager-gnb.cc.

◆ RouteOutgoingCtrlMsg()

uint8_t ns3::BwpManagerGnb::RouteOutgoingCtrlMsg ( const Ptr< NrControlMessage > &  msg,
uint8_t  sourceBwpId 
) const

Route the outgoing messages to the right BWP.

Parameters
msgthe message
sourceBwpIdthe 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.

See also
SetOutputLink
Returns
the bwp to which the ctrl messages should be redirected

Definition at line 133 of file bwp-manager-gnb.cc.

◆ SetBwpManagerAlgorithm()

void ns3::BwpManagerGnb::SetBwpManagerAlgorithm ( const Ptr< BwpManagerAlgorithm > &  algorithm)

Set the algorithm.

Parameters
algorithmpointer to the algorithm

Definition at line 50 of file bwp-manager-gnb.cc.

◆ SetOutputLink()

void ns3::BwpManagerGnb::SetOutputLink ( uint32_t  sourceBwp,
uint32_t  outputBwp 
)

Set a mapping between two BWP.

Parameters
sourceBwpThe messages that come from this value...
outputBwp... will get routed in this bandwidth part.

Call it for each mapping you want to install.

Definition at line 158 of file bwp-manager-gnb.cc.


The documentation for this class was generated from the following files: