![]() |
5G-LENA nr-v3.3-120-gdac69c56
The 5G/NR module for the ns-3 simulator
|
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 ¶ms) |
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. | |
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.
Definition at line 29 of file nr-mac-scheduler-lcg.h.
ns3::NrMacSchedulerLC::NrMacSchedulerLC | ( | const nr::LogicalChannelConfigListElement_s & | conf | ) |
NrMacSchedulerLC constructor.
conf | Configuration of the LC |
Definition at line 16 of file nr-mac-scheduler-lcg.cc.
References ns3::NrEpsBearer::GetPacketDelayBudgetMs(), ns3::NrEpsBearer::GetPacketErrorLossRate(), ns3::NrEpsBearer::GetPriority(), ns3::NrEpsBearer::GetResourceType(), m_delayBudget, m_eRabGuaranteedBitrateDl, ns3::nr::LogicalChannelConfigListElement_s::m_eRabGuaranteedBitrateDl, m_PER, m_priority, m_qci, ns3::nr::LogicalChannelConfigListElement_s::m_qci, and m_resourceType.
|
delete |
NrMacSchedulerLC copy constructor (deleted)
o | other instance |
uint32_t ns3::NrMacSchedulerLC::GetTotalSize | ( | ) | const |
Get 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.
void ns3::NrMacSchedulerLC::Update | ( | const NrMacSchedSapProvider::SchedDlRlcBufferReqParameters & | params | ) |
Overwrite all the parameters with the one contained in the message.
params | the message received from the RLC layer, containing the information about the queues |
Definition at line 30 of file nr-mac-scheduler-lcg.cc.
References m_id, ns3::NrMacSchedSapProvider::SchedDlRlcBufferReqParameters::m_logicalChannelIdentity, ns3::NrMacSchedSapProvider::SchedDlRlcBufferReqParameters::m_rlcRetransmissionHolDelay, m_rlcRetransmissionHolDelay, ns3::NrMacSchedSapProvider::SchedDlRlcBufferReqParameters::m_rlcRetransmissionQueueSize, m_rlcRetransmissionQueueSize, ns3::NrMacSchedSapProvider::SchedDlRlcBufferReqParameters::m_rlcStatusPduSize, m_rlcStatusPduSize, ns3::NrMacSchedSapProvider::SchedDlRlcBufferReqParameters::m_rlcTransmissionQueueHolDelay, m_rlcTransmissionQueueHolDelay, ns3::NrMacSchedSapProvider::SchedDlRlcBufferReqParameters::m_rlcTransmissionQueueSize, and m_rlcTransmissionQueueSize.
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().
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().
uint32_t ns3::NrMacSchedulerLC::m_id {0} |
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().
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().
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().
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().
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().
uint32_t ns3::NrMacSchedulerLC::m_rlcRetransmissionQueueSize |
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().
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().
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().
uint32_t ns3::NrMacSchedulerLC::m_rlcTransmissionQueueSize |
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().