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

Represent a DL Logical Channel of an UE. More...

#include "nr-mac-scheduler-lcg.h"

Public Member Functions

 NrMacSchedulerLC ()=delete
 NrMacSchedulerLC default constructor (deletec)
 
 NrMacSchedulerLC (const nr::LogicalChannelConfigListElement_s &conf)
 NrMacSchedulerLC constructor.
 
 NrMacSchedulerLC (const NrMacSchedulerLC &o)=delete
 NrMacSchedulerLC copy constructor (deleted)
 
uint32_t GetTotalSize () const
 Get the total size of the LC.
 
void Update (const NrMacSchedSapProvider::SchedDlRlcBufferReqParameters &params)
 Overwrite all the parameters with the one contained in the message.
 

Public Attributes

Time m_delayBudget {Time::Min()}
 Delay budget of the flow.
 
uint64_t m_eRabGuaranteedBitrateDl {UINT64_MAX}
 ERAB guaranteed bit rate DL.
 
uint32_t m_id {0}
 ID of the LC.
 
double m_PER {0.0}
 PER of the flow.
 
uint8_t m_priority {0}
 the priority associated with the QCI of the flow 3GPP 23.203
 
uint8_t m_qci {0}
 QoS Class Identifier of the flow.
 
uint8_t m_resourceType {0}
 the resource type associated with the QCI of the flow
 
uint16_t m_rlcRetransmissionHolDelay {0}
 Head of line delay of retransmissions in ms.
 
uint32_t m_rlcRetransmissionQueueSize
 The current size of the retransmission queue in byte.
 
uint16_t m_rlcStatusPduSize {0}
 The current size of the pending STATUS message in byte.
 
uint16_t m_rlcTransmissionQueueHolDelay {0}
 Head of line delay of new transmissions in ms.
 
uint32_t m_rlcTransmissionQueueSize
 The current size of the new transmission queue in byte.
 

Detailed Description

Represent a DL Logical Channel of an UE.

The scheduler stores here the information that comes from BSR, arriving from the gNB.

Please use the unique ptr defined by the typedef LCPtr.

See also
Update
GetTotalSize

Definition at line 29 of file nr-mac-scheduler-lcg.h.

Constructor & Destructor Documentation

◆ NrMacSchedulerLC() [1/2]

◆ NrMacSchedulerLC() [2/2]

ns3::NrMacSchedulerLC::NrMacSchedulerLC ( const NrMacSchedulerLC o)
delete

NrMacSchedulerLC copy constructor (deleted)

Parameters
oother instance

Member Function Documentation

◆ GetTotalSize()

uint32_t ns3::NrMacSchedulerLC::GetTotalSize ( ) const

Get the total size of the LC.

Returns
the total size of the LC

Definition at line 42 of file nr-mac-scheduler-lcg.cc.

References m_rlcRetransmissionQueueSize, m_rlcStatusPduSize, and m_rlcTransmissionQueueSize.

◆ Update()

Member Data Documentation

◆ m_delayBudget

Time ns3::NrMacSchedulerLC::m_delayBudget {Time::Min()}

Delay budget of the flow.

Definition at line 67 of file nr-mac-scheduler-lcg.h.

Referenced by NrMacSchedulerLC().

◆ m_eRabGuaranteedBitrateDl

uint64_t ns3::NrMacSchedulerLC::m_eRabGuaranteedBitrateDl {UINT64_MAX}

ERAB guaranteed bit rate DL.

Definition at line 72 of file nr-mac-scheduler-lcg.h.

Referenced by NrMacSchedulerLC().

◆ m_id

uint32_t ns3::NrMacSchedulerLC::m_id {0}

ID of the LC.

Definition at line 58 of file nr-mac-scheduler-lcg.h.

Referenced by Update().

◆ m_PER

double ns3::NrMacSchedulerLC::m_PER {0.0}

PER of the flow.

Definition at line 68 of file nr-mac-scheduler-lcg.h.

Referenced by NrMacSchedulerLC().

◆ m_priority

uint8_t ns3::NrMacSchedulerLC::m_priority {0}

the priority associated with the QCI of the flow 3GPP 23.203

Definition at line 71 of file nr-mac-scheduler-lcg.h.

Referenced by NrMacSchedulerLC().

◆ m_qci

uint8_t ns3::NrMacSchedulerLC::m_qci {0}

QoS Class Identifier of the flow.

Definition at line 70 of file nr-mac-scheduler-lcg.h.

Referenced by NrMacSchedulerLC().

◆ m_resourceType

uint8_t ns3::NrMacSchedulerLC::m_resourceType {0}

the resource type associated with the QCI of the flow

Definition at line 69 of file nr-mac-scheduler-lcg.h.

Referenced by NrMacSchedulerLC().

◆ m_rlcRetransmissionHolDelay

uint16_t ns3::NrMacSchedulerLC::m_rlcRetransmissionHolDelay {0}

Head of line delay of retransmissions in ms.

Definition at line 62 of file nr-mac-scheduler-lcg.h.

Referenced by Update().

◆ m_rlcRetransmissionQueueSize

uint32_t ns3::NrMacSchedulerLC::m_rlcRetransmissionQueueSize
Initial value:
{
0}

The current size of the retransmission queue in byte.

Definition at line 63 of file nr-mac-scheduler-lcg.h.

Referenced by GetTotalSize(), and Update().

◆ m_rlcStatusPduSize

uint16_t ns3::NrMacSchedulerLC::m_rlcStatusPduSize {0}

The current size of the pending STATUS message in byte.

Definition at line 65 of file nr-mac-scheduler-lcg.h.

Referenced by GetTotalSize(), and Update().

◆ m_rlcTransmissionQueueHolDelay

uint16_t ns3::NrMacSchedulerLC::m_rlcTransmissionQueueHolDelay {0}

Head of line delay of new transmissions in ms.

Definition at line 61 of file nr-mac-scheduler-lcg.h.

Referenced by Update().

◆ m_rlcTransmissionQueueSize

uint32_t ns3::NrMacSchedulerLC::m_rlcTransmissionQueueSize
Initial value:
{
0}

The current size of the new transmission queue in byte.

Definition at line 59 of file nr-mac-scheduler-lcg.h.

Referenced by GetTotalSize(), and Update().


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