5G-LENA nr-v3.3-120-gdac69c56
The 5G/NR module for the ns-3 simulator
Loading...
Searching...
No Matches
ns3::NrMacSchedulerUeInfo Class Reference

The representation of an user for any Mac scheduler. More...

#include "nr-mac-scheduler-ue-info.h"

+ Inheritance diagram for ns3::NrMacSchedulerUeInfo:
+ Collaboration diagram for ns3::NrMacSchedulerUeInfo:

Classes

struct  CqiInfo
 Received CQI information. More...
 
struct  SbMcsInfo
 

Public Types

typedef std::function< NrMacHarqVector &(const UePtr &ue)> GetHarqVectorFn
 
typedef std::function< std::unordered_map< uint8_t, LCGPtr > &(const UePtr &ue)> GetLCGFn
 
typedef std::function< uint32_t()> GetRbPerRbgFn
 
enum class  McsCsiSource { AVG_MCS , AVG_SPEC_EFF , AVG_SINR , WIDEBAND_MCS }
 

Public Member Functions

 NrMacSchedulerUeInfo ()=delete
 Default Constructor (deleted)
 
 NrMacSchedulerUeInfo (uint16_t rnti, BeamId beamId, const GetRbPerRbgFn &fn)
 Create a new UE representation.
 
virtual ~NrMacSchedulerUeInfo ()
 ~NrMacSchedulerUeInfo deconstructor
 
uint8_t GetDlMcs () const
 Get the downlink MCS, given by the wideband CQI, or the sub-band CQIs of the currently allocated RBGs, if available.
 
uint32_t GetTotalDlBuffer () const
 
void ReleaseLC (uint8_t lcid)
 
virtual void ResetDlMetric ()
 ResetDlMetric.
 
virtual void ResetDlSchedInfo ()
 Reset DL information.
 
virtual void ResetUlMetric ()
 ResetUlMetric.
 
virtual void ResetUlSchedInfo ()
 Reset UL information.
 
virtual void UpdateDlMetric ()
 Update DL metrics after resources have been assigned.
 
virtual void UpdateUlMetric ()
 Update UL metrics after resources have been assigned.
 

Static Public Member Functions

static NrMacHarqVectorGetDlHarqVector (const UePtr &ue)
 GetDlHarqVector.
 
static std::unordered_map< uint8_t, LCGPtr > & GetDlLCG (const UePtr &ue)
 GetDlLCG.
 
static uint8_t & GetDlMcs (const UePtr &ue)
 GetDlMcs.
 
static std::vector< uint16_t > & GetDlRBG (const UePtr &ue)
 GetDlRBG.
 
static std::vector< uint8_t > & GetDlSym (const UePtr &ue)
 GetDlSym.
 
static uint32_t & GetDlTBS (const UePtr &ue)
 GetDlTBS.
 
static NrMacHarqVectorGetUlHarqVector (const UePtr &ue)
 GetUlHarqVector.
 
static std::unordered_map< uint8_t, LCGPtr > & GetUlLCG (const UePtr &ue)
 GetUlLCG.
 
static uint8_t & GetUlMcs (const UePtr &ue)
 GetUlMcs.
 
static std::vector< uint16_t > & GetUlRBG (const UePtr &ue)
 GetUlRBG.
 
static std::vector< uint8_t > & GetUlSym (const UePtr &ue)
 GetUlSym.
 
static uint32_t & GetUlTBS (const UePtr &ue)
 GetUlTBS.
 
static void PrintLcInfo (uint16_t ue, uint8_t lcgId, uint8_t lcId, uint8_t cqi, uint8_t P, uint8_t minP)
 Prints information related to the QCI of a UEs LC.
 

Public Attributes

BeamId m_beamId
 Beam ID of the UE (kept updated as much as possible by MAC)
 
Ptr< NrAmcm_dlAmc
 AMC instance of scheduler associated with DL.
 
CqiInfo m_dlCqi
 DL CQI information.
 
NrMacHarqVector m_dlHarq
 HARQ process vector for DL.
 
std::unordered_map< uint8_t, LCGPtrm_dlLCG
 DL LCG.
 
uint8_t m_dlMcs {0}
 DL MCS.
 
uint32_t m_dlMRBRetx {0}
 
Ptr< const ComplexMatrixArray > m_dlPrecMats {nullptr}
 DL Precoding matrices.
 
uint8_t m_dlRank {1}
 DL rank (number of MIMO layers)
 
std::vector< uint16_t > m_dlRBG
 DL Resource Block Group assigned in this slot.
 
std::vector< SbMcsInfom_dlSbMcsInfo
 
std::vector< uint8_t > m_dlSym
 Corresponding symbol of m_dlRBG in this slot.
 
uint32_t m_dlTbSize {0}
 
std::optional< uint8_t > m_fhMaxMcsAssignable
 Maximum DL MCS assignable due to FH limitations.
 
McsCsiSource m_mcsCsiSource
 Source of MCS computation based on CSI feedback.
 
std::vector< uint8_t > m_rbgToSb
 Precomputed RBG to SB mapping.
 
uint16_t m_rnti {0}
 RNTI of the UE.
 
uint32_t m_srsOffset {0}
 SRS offset.
 
uint32_t m_srsPeriodicity {0}
 SRS periodicity.
 
uint8_t m_startMcsDlUe {0}
 Starting DL MCS to be used.
 
Ptr< NrAmcm_ulAmc
 AMC instance of scheduler associated with UL.
 
CqiInfo m_ulCqi
 UL CQI information.
 
NrMacHarqVector m_ulHarq
 HARQ process vector for UL.
 
std::unordered_map< uint8_t, LCGPtrm_ulLCG
 UL LCG.
 
uint8_t m_ulMcs {0}
 UL MCS.
 
uint32_t m_ulMRBRetx {0}
 
Ptr< const ComplexMatrixArray > m_ulPrecMats {nullptr}
 UL Precoding matrices.
 
uint8_t m_ulRank {1}
 UL rank (number of MIMO layers)
 
std::vector< uint16_t > m_ulRBG
 UL Resource Block Group assigned in this slot.
 
std::vector< uint8_t > m_ulSym
 Corresponding symbol of m_ulRBG in this slot.
 
uint32_t m_ulTbSize {0}
 

Protected Member Functions

uint32_t GetNumRbPerRbg () const
 Retrieve the number of RB per RBG.
 

Detailed Description

The representation of an user for any Mac scheduler.

Basic representation for an UE inside any scheduler. The class is responsible to store all the UE-related field that can be used by any scheduler.

If a scheduler needs to store additional information, it is necessary to create a subclass and store the information there. Then, the scheduler will return a pointer to a newly created instance through NrMacSchedulerNs3::CreateUeRepresentation.

The class stores information such as RBG, MCS, and CQI. Information that should be reset after each slot (such as RBG count) should be reset in the method ResetDlSchedInfo() and ResetUlSchedInfo().

When a scheduler assign new resources to the UE, it will call the method UpdateDlMetric() or UpdateUlMetric(). Make sure all the relevant information that should be updated for a correct sorting are updated there.

See also
NrMacSchedulerUeInfoRR
NrMacSchedulerUeInfoPF
NrMacSchedulerUeInfoMR

Definition at line 52 of file nr-mac-scheduler-ue-info.h.

Member Typedef Documentation

◆ GetHarqVectorFn

typedef std::function<NrMacHarqVector&(const UePtr& ue)> ns3::NrMacSchedulerUeInfo::GetHarqVectorFn

Definition at line 183 of file nr-mac-scheduler-ue-info.h.

◆ GetLCGFn

typedef std::function<std::unordered_map<uint8_t, LCGPtr>&(const UePtr& ue)> ns3::NrMacSchedulerUeInfo::GetLCGFn

Definition at line 182 of file nr-mac-scheduler-ue-info.h.

◆ GetRbPerRbgFn

typedef std::function<uint32_t()> ns3::NrMacSchedulerUeInfo::GetRbPerRbgFn

Definition at line 60 of file nr-mac-scheduler-ue-info.h.

Member Enumeration Documentation

◆ McsCsiSource

Enumerator
AVG_MCS 

Estimate MCS based on the average MCS of allocated RBGs.

AVG_SPEC_EFF 

Estimate MCS based on the average spectral efficiency of allocated RBGs.

AVG_SINR 

Estimate MCS based on the average SINR of allocated RBGs.

WIDEBAND_MCS 

Wideband MCS.

Definition at line 99 of file nr-mac-scheduler-ue-info.h.

Constructor & Destructor Documentation

◆ NrMacSchedulerUeInfo()

ns3::NrMacSchedulerUeInfo::NrMacSchedulerUeInfo ( uint16_t  rnti,
BeamId  beamId,
const GetRbPerRbgFn &  fn 
)

Create a new UE representation.

Parameters
rntithe RNTI of the UE
beamIdthe BeamID of the UE (can be updated later)

Definition at line 16 of file nr-mac-scheduler-ue-info.cc.

◆ ~NrMacSchedulerUeInfo()

ns3::NrMacSchedulerUeInfo::~NrMacSchedulerUeInfo ( )
virtual

~NrMacSchedulerUeInfo deconstructor

Definition at line 23 of file nr-mac-scheduler-ue-info.cc.

Member Function Documentation

◆ GetDlHarqVector()

NrMacHarqVector & ns3::NrMacSchedulerUeInfo::GetDlHarqVector ( const UePtr &  ue)
static

GetDlHarqVector.

Parameters
ueUE pointer from which obtain the value
Returns

Definition at line 140 of file nr-mac-scheduler-ue-info.cc.

Referenced by ns3::NrMacSchedulerNs3::DoSchedDlTriggerReq().

+ Here is the caller graph for this function:

◆ GetDlLCG()

std::unordered_map< uint8_t, LCGPtr > & ns3::NrMacSchedulerUeInfo::GetDlLCG ( const UePtr &  ue)
static

GetDlLCG.

Parameters
ueUE pointer from which obtain the value
Returns

Definition at line 128 of file nr-mac-scheduler-ue-info.cc.

◆ GetDlMcs() [1/2]

uint8_t ns3::NrMacSchedulerUeInfo::GetDlMcs ( ) const

Get the downlink MCS, given by the wideband CQI, or the sub-band CQIs of the currently allocated RBGs, if available.

Returns
downlink mcs

Definition at line 77 of file nr-mac-scheduler-ue-info.cc.

References AVG_MCS, AVG_SINR, AVG_SPEC_EFF, ns3::NrAmc::GetMcsFromSpectralEfficiency(), m_dlAmc, m_dlMcs, m_dlRBG, m_dlSbMcsInfo, m_fhMaxMcsAssignable, m_mcsCsiSource, and WIDEBAND_MCS.

Referenced by ns3::NrMacSchedulerUeInfoPF::CalculatePotentialTPutDl(), and UpdateDlMetric().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ GetDlMcs() [2/2]

uint8_t & ns3::NrMacSchedulerUeInfo::GetDlMcs ( const UePtr &  ue)
static

GetDlMcs.

Parameters
ueUE pointer from which obtain the value
Returns

Definition at line 52 of file nr-mac-scheduler-ue-info.cc.

◆ GetDlRBG()

std::vector< uint16_t > & ns3::NrMacSchedulerUeInfo::GetDlRBG ( const UePtr &  ue)
static

GetDlRBG.

Parameters
ueUE pointer from which obtain the value
Returns

Definition at line 28 of file nr-mac-scheduler-ue-info.cc.

Referenced by ns3::NrMacSchedulerTdma::AssignDLRBG().

+ Here is the caller graph for this function:

◆ GetDlSym()

std::vector< uint8_t > & ns3::NrMacSchedulerUeInfo::GetDlSym ( const UePtr &  ue)
static

GetDlSym.

Parameters
ueUE pointer from which obtain the value
Returns

Definition at line 40 of file nr-mac-scheduler-ue-info.cc.

Referenced by ns3::NrMacSchedulerTdma::AssignDLRBG().

+ Here is the caller graph for this function:

◆ GetDlTBS()

uint32_t & ns3::NrMacSchedulerUeInfo::GetDlTBS ( const UePtr &  ue)
static

GetDlTBS.

Parameters
ueUE pointer from which obtain the value
Returns
The TB size

Definition at line 122 of file nr-mac-scheduler-ue-info.cc.

Referenced by ns3::NrMacSchedulerTdma::AssignDLRBG().

+ Here is the caller graph for this function:

◆ GetNumRbPerRbg()

uint32_t ns3::NrMacSchedulerUeInfo::GetNumRbPerRbg ( ) const
protected

◆ GetTotalDlBuffer()

uint32_t ns3::NrMacSchedulerUeInfo::GetTotalDlBuffer ( ) const

Definition at line 222 of file nr-mac-scheduler-ue-info.cc.

◆ GetUlHarqVector()

NrMacHarqVector & ns3::NrMacSchedulerUeInfo::GetUlHarqVector ( const UePtr &  ue)
static

GetUlHarqVector.

Parameters
ueUE pointer from which obtain the value
Returns

Definition at line 146 of file nr-mac-scheduler-ue-info.cc.

Referenced by ns3::NrMacSchedulerNs3::DoSchedUlTriggerReq().

+ Here is the caller graph for this function:

◆ GetUlLCG()

std::unordered_map< uint8_t, LCGPtr > & ns3::NrMacSchedulerUeInfo::GetUlLCG ( const UePtr &  ue)
static

GetUlLCG.

Parameters
ueUE pointer from which obtain the value
Returns

Definition at line 134 of file nr-mac-scheduler-ue-info.cc.

◆ GetUlMcs()

uint8_t & ns3::NrMacSchedulerUeInfo::GetUlMcs ( const UePtr &  ue)
static

GetUlMcs.

Parameters
ueUE pointer from which obtain the value
Returns

Definition at line 116 of file nr-mac-scheduler-ue-info.cc.

◆ GetUlRBG()

std::vector< uint16_t > & ns3::NrMacSchedulerUeInfo::GetUlRBG ( const UePtr &  ue)
static

GetUlRBG.

Parameters
ueUE pointer from which obtain the value
Returns

Definition at line 34 of file nr-mac-scheduler-ue-info.cc.

Referenced by ns3::NrMacSchedulerTdma::AssignULRBG().

+ Here is the caller graph for this function:

◆ GetUlSym()

std::vector< uint8_t > & ns3::NrMacSchedulerUeInfo::GetUlSym ( const UePtr &  ue)
static

GetUlSym.

Parameters
ueUE pointer from which obtain the value
Returns

Definition at line 46 of file nr-mac-scheduler-ue-info.cc.

Referenced by ns3::NrMacSchedulerTdma::AssignULRBG().

+ Here is the caller graph for this function:

◆ GetUlTBS()

static uint32_t & ns3::NrMacSchedulerUeInfo::GetUlTBS ( const UePtr &  ue)
inlinestatic

GetUlTBS.

Parameters
ueUE pointer from which obtain the value
Returns

Definition at line 136 of file nr-mac-scheduler-ue-info.h.

Referenced by ns3::NrMacSchedulerTdma::AssignULRBG().

+ Here is the caller graph for this function:

◆ PrintLcInfo()

void ns3::NrMacSchedulerUeInfo::PrintLcInfo ( uint16_t  ue,
uint8_t  lcgId,
uint8_t  lcId,
uint8_t  cqi,
uint8_t  P,
uint8_t  minP 
)
static

Prints information related to the QCI of a UEs LC.

Parameters
ueUE for which we want to print the LC info
lcgIdThe logical channel group ID
lcIdThe logical channel ID
qciThe QCI of this LC
PThe priority associated to the QCI of this LC
Returns

Definition at line 152 of file nr-mac-scheduler-ue-info.cc.

◆ ReleaseLC()

void ns3::NrMacSchedulerUeInfo::ReleaseLC ( uint8_t  lcid)

Definition at line 240 of file nr-mac-scheduler-ue-info.cc.

◆ ResetDlMetric()

void ns3::NrMacSchedulerUeInfo::ResetDlMetric ( )
virtual

ResetDlMetric.

Called when the scheduler has assigned RBGs, but the sum does not arrive to a TBS > 0. The assignation is, therefore, not transformed in DCI. These RBG will not be assigned, they will be empty in the slot.

Reimplemented in ns3::NrMacSchedulerUeInfoPF, and ns3::NrMacSchedulerUeInfoQos.

Definition at line 197 of file nr-mac-scheduler-ue-info.cc.

References m_dlTbSize.

Referenced by ns3::NrMacSchedulerUeInfoPF::ResetDlMetric(), and ns3::NrMacSchedulerUeInfoQos::ResetDlMetric().

+ Here is the caller graph for this function:

◆ ResetDlSchedInfo()

void ns3::NrMacSchedulerUeInfo::ResetDlSchedInfo ( )
virtual

Reset DL information.

Called after each slot. It should reset all the information that are slot-dependent.

Reimplemented in ns3::NrMacSchedulerUeInfoAi, ns3::NrMacSchedulerUeInfoPF, and ns3::NrMacSchedulerUeInfoQos.

Definition at line 165 of file nr-mac-scheduler-ue-info.cc.

References m_dlMRBRetx, m_dlRBG, m_dlSym, and m_dlTbSize.

Referenced by ns3::NrMacSchedulerUeInfoPF::ResetDlSchedInfo(), and ns3::NrMacSchedulerUeInfoQos::ResetDlSchedInfo().

+ Here is the caller graph for this function:

◆ ResetUlMetric()

void ns3::NrMacSchedulerUeInfo::ResetUlMetric ( )
virtual

ResetUlMetric.

Called when the scheduler has assigned RBGs, but the sum does not arrive to a TBS > 0. The assignation is, therefore, not transformed in DCI. These RBG will not be assigned, they will be empty in the slot.

Reimplemented in ns3::NrMacSchedulerUeInfoPF, and ns3::NrMacSchedulerUeInfoQos.

Definition at line 216 of file nr-mac-scheduler-ue-info.cc.

References m_ulTbSize.

Referenced by ns3::NrMacSchedulerUeInfoPF::ResetUlMetric(), and ns3::NrMacSchedulerUeInfoQos::ResetUlMetric().

+ Here is the caller graph for this function:

◆ ResetUlSchedInfo()

void ns3::NrMacSchedulerUeInfo::ResetUlSchedInfo ( )
virtual

Reset UL information.

Called after each slot. It should reset all the information that are slot-dependent.

Reimplemented in ns3::NrMacSchedulerUeInfoAi, ns3::NrMacSchedulerUeInfoPF, and ns3::NrMacSchedulerUeInfoQos.

Definition at line 174 of file nr-mac-scheduler-ue-info.cc.

References m_ulMRBRetx, m_ulRBG, m_ulSym, and m_ulTbSize.

Referenced by ns3::NrMacSchedulerUeInfoPF::ResetUlSchedInfo(), and ns3::NrMacSchedulerUeInfoQos::ResetUlSchedInfo().

+ Here is the caller graph for this function:

◆ UpdateDlMetric()

void ns3::NrMacSchedulerUeInfo::UpdateDlMetric ( )
virtual

Update DL metrics after resources have been assigned.

The amount of assigned resources is stored inside m_dlRBG by the scheduler.

Definition at line 183 of file nr-mac-scheduler-ue-info.cc.

References GetDlMcs(), GetNumRbPerRbg(), m_dlAmc, m_dlRank, m_dlRBG, and m_dlTbSize.

Referenced by ns3::NrMacSchedulerUeInfoPF::UpdateDlPFMetric(), and ns3::NrMacSchedulerUeInfoQos::UpdateDlQosMetric().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ UpdateUlMetric()

void ns3::NrMacSchedulerUeInfo::UpdateUlMetric ( )
virtual

Update UL metrics after resources have been assigned.

The amount of assigned resources is stored inside m_ulRBG by the scheduler.

Definition at line 203 of file nr-mac-scheduler-ue-info.cc.

References GetNumRbPerRbg(), m_ulAmc, m_ulMcs, m_ulRank, m_ulRBG, and m_ulTbSize.

Referenced by ns3::NrMacSchedulerUeInfoPF::UpdateUlPFMetric(), and ns3::NrMacSchedulerUeInfoQos::UpdateUlQosMetric().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

Member Data Documentation

◆ m_beamId

BeamId ns3::NrMacSchedulerUeInfo::m_beamId

Beam ID of the UE (kept updated as much as possible by MAC)

Definition at line 259 of file nr-mac-scheduler-ue-info.h.

◆ m_dlAmc

Ptr<NrAmc> ns3::NrMacSchedulerUeInfo::m_dlAmc

◆ m_dlCqi

CqiInfo ns3::NrMacSchedulerUeInfo::m_dlCqi

DL CQI information.

Definition at line 299 of file nr-mac-scheduler-ue-info.h.

◆ m_dlHarq

NrMacHarqVector ns3::NrMacSchedulerUeInfo::m_dlHarq

HARQ process vector for DL.

Definition at line 302 of file nr-mac-scheduler-ue-info.h.

◆ m_dlLCG

std::unordered_map<uint8_t, LCGPtr> ns3::NrMacSchedulerUeInfo::m_dlLCG

◆ m_dlMcs

uint8_t ns3::NrMacSchedulerUeInfo::m_dlMcs {0}

◆ m_dlMRBRetx

uint32_t ns3::NrMacSchedulerUeInfo::m_dlMRBRetx {0}

MRB assigned for retx. To update the name, what is MRB is not defined

Definition at line 264 of file nr-mac-scheduler-ue-info.h.

Referenced by ResetDlSchedInfo().

◆ m_dlPrecMats

Ptr<const ComplexMatrixArray> ns3::NrMacSchedulerUeInfo::m_dlPrecMats {nullptr}

DL Precoding matrices.

Definition at line 296 of file nr-mac-scheduler-ue-info.h.

◆ m_dlRank

uint8_t ns3::NrMacSchedulerUeInfo::m_dlRank {1}

◆ m_dlRBG

std::vector<uint16_t> ns3::NrMacSchedulerUeInfo::m_dlRBG

DL Resource Block Group assigned in this slot.

Definition at line 268 of file nr-mac-scheduler-ue-info.h.

Referenced by GetDlMcs(), ResetDlSchedInfo(), and UpdateDlMetric().

◆ m_dlSbMcsInfo

std::vector<SbMcsInfo> ns3::NrMacSchedulerUeInfo::m_dlSbMcsInfo

Precomputed MCS, Spectral Efficiency and estimated SINR for a sub-band CQI associated with a RBG

Definition at line 286 of file nr-mac-scheduler-ue-info.h.

Referenced by GetDlMcs().

◆ m_dlSym

std::vector<uint8_t> ns3::NrMacSchedulerUeInfo::m_dlSym

Corresponding symbol of m_dlRBG in this slot.

Definition at line 270 of file nr-mac-scheduler-ue-info.h.

Referenced by ResetDlSchedInfo().

◆ m_dlTbSize

uint32_t ns3::NrMacSchedulerUeInfo::m_dlTbSize {0}

◆ m_fhMaxMcsAssignable

std::optional<uint8_t> ns3::NrMacSchedulerUeInfo::m_fhMaxMcsAssignable

Maximum DL MCS assignable due to FH limitations.

Definition at line 275 of file nr-mac-scheduler-ue-info.h.

Referenced by GetDlMcs().

◆ m_mcsCsiSource

McsCsiSource ns3::NrMacSchedulerUeInfo::m_mcsCsiSource

Source of MCS computation based on CSI feedback.

Definition at line 312 of file nr-mac-scheduler-ue-info.h.

Referenced by GetDlMcs().

◆ m_rbgToSb

std::vector<uint8_t> ns3::NrMacSchedulerUeInfo::m_rbgToSb

Precomputed RBG to SB mapping.

Definition at line 288 of file nr-mac-scheduler-ue-info.h.

◆ m_rnti

◆ m_srsOffset

uint32_t ns3::NrMacSchedulerUeInfo::m_srsOffset {0}

SRS offset.

Definition at line 306 of file nr-mac-scheduler-ue-info.h.

◆ m_srsPeriodicity

uint32_t ns3::NrMacSchedulerUeInfo::m_srsPeriodicity {0}

SRS periodicity.

Definition at line 305 of file nr-mac-scheduler-ue-info.h.

◆ m_startMcsDlUe

uint8_t ns3::NrMacSchedulerUeInfo::m_startMcsDlUe {0}

Starting DL MCS to be used.

Definition at line 307 of file nr-mac-scheduler-ue-info.h.

◆ m_ulAmc

Ptr<NrAmc> ns3::NrMacSchedulerUeInfo::m_ulAmc

◆ m_ulCqi

CqiInfo ns3::NrMacSchedulerUeInfo::m_ulCqi

UL CQI information.

Definition at line 300 of file nr-mac-scheduler-ue-info.h.

◆ m_ulHarq

NrMacHarqVector ns3::NrMacSchedulerUeInfo::m_ulHarq

HARQ process vector for UL.

Definition at line 303 of file nr-mac-scheduler-ue-info.h.

◆ m_ulLCG

std::unordered_map<uint8_t, LCGPtr> ns3::NrMacSchedulerUeInfo::m_ulLCG

◆ m_ulMcs

uint8_t ns3::NrMacSchedulerUeInfo::m_ulMcs {0}

◆ m_ulMRBRetx

uint32_t ns3::NrMacSchedulerUeInfo::m_ulMRBRetx {0}

MRB assigned for retx. To update the name, what is MRB is not defined

Definition at line 266 of file nr-mac-scheduler-ue-info.h.

Referenced by ResetUlSchedInfo().

◆ m_ulPrecMats

Ptr<const ComplexMatrixArray> ns3::NrMacSchedulerUeInfo::m_ulPrecMats {nullptr}

UL Precoding matrices.

Definition at line 297 of file nr-mac-scheduler-ue-info.h.

◆ m_ulRank

uint8_t ns3::NrMacSchedulerUeInfo::m_ulRank {1}

◆ m_ulRBG

std::vector<uint16_t> ns3::NrMacSchedulerUeInfo::m_ulRBG

UL Resource Block Group assigned in this slot.

Definition at line 269 of file nr-mac-scheduler-ue-info.h.

Referenced by ResetUlSchedInfo(), and UpdateUlMetric().

◆ m_ulSym

std::vector<uint8_t> ns3::NrMacSchedulerUeInfo::m_ulSym

Corresponding symbol of m_ulRBG in this slot.

Definition at line 271 of file nr-mac-scheduler-ue-info.h.

Referenced by ResetUlSchedInfo().

◆ m_ulTbSize

uint32_t ns3::NrMacSchedulerUeInfo::m_ulTbSize {0}

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