NrSchedulerGnbUlD2D Class Reference

Simu5G: NrSchedulerGnbUlD2D Class Reference
Simu5G
NrSchedulerGnbUlD2D Class Reference

#include <NrSchedulerGnbUlD2D.h>

Inheritance diagram for NrSchedulerGnbUlD2D:
[legend]

Protected Member Functions

unsigned int scheduleAdditionalRetransmissions (GHz carrierFrequency, BandLimitVector *bandLim=nullptr) override
LteScheduler * getScheduler (SchedDiscipline discipline) override
 The D2D uplink scheduler owns the ALLOCATOR_BESTFIT frequency-reuse discipline.
Protected Member Functions inherited from LteSchedulerEnbUl
bool checkEligibility (MacNodeId id, Codeword &cw, GHz carrierFrequency) override

Additional Inherited Members

Public Member Functions inherited from NrSchedulerGnbUl
void updateHarqDescs () override
 Updates HARQ descriptor current process pointer (to be called every TTI by main loop).
bool rtxschedule (GHz carrierFrequency, BandLimitVector *bandLim=nullptr) override
Public Member Functions inherited from LteSchedulerEnbUl
bool racschedule (GHz carrierFrequency, BandLimitVector *bandLim=nullptr) override
bool rtxschedule (GHz carrierFrequency, BandLimitVector *bandLim=nullptr) override
virtual void signalRac (MacNodeId nodeId, GHz carrierFrequency)
unsigned int schedulePerAcidRtx (MacNodeId nodeId, GHz carrierFrequency, Codeword cw, unsigned char acid, std::vector< BandLimit > *bandLim=nullptr, Remote antenna=MACRO, bool limitBl=false) override
Protected Attributes inherited from LteSchedulerEnbUl
std::map< GHz, HarqStatus > harqStatus_
 Uplink Synchronous H-ARQ process counter - keeps track of currently active process on connected UEs.
std::map< GHz, RacStatus > racStatus_
 RAC request flags: signals whether a UE shall be granted the RAC allocation.

Detailed Description

NR gNB uplink scheduler with device-to-device (D2D) support. Extends the clean NrSchedulerGnbUl with the scheduling of D2D-mirror HARQ retransmissions and the D2D frequency-reuse (ALLOCATOR_BESTFIT) discipline. It is the NR counterpart of ~LteSchedulerEnbUlD2D; keep the two in sync.

Member Function Documentation

◆ scheduleAdditionalRetransmissions()

unsigned int scheduleAdditionalRetransmissions ( GHz carrierFrequency,
BandLimitVector * bandLim = nullptr )
overrideprotectedvirtual

Schedules the D2D-mirror HARQ retransmissions (NR asynchronous HARQ variant: iterates over all processes). Kept in sync with LteSchedulerEnbUlD2D::scheduleAdditionalRetransmissions() (synchronous HARQ: a single active acid per flow).

Reimplemented from LteSchedulerEnbUl.

◆ getScheduler()

LteScheduler * getScheduler ( SchedDiscipline discipline)
overrideprotected

The D2D uplink scheduler owns the ALLOCATOR_BESTFIT frequency-reuse discipline.