LteSchedulerEnbUlD2D Class Reference

Simu5G: LteSchedulerEnbUlD2D Class Reference
Simu5G
LteSchedulerEnbUlD2D Class Reference

#include <LteSchedulerEnbUlD2D.h>

Inheritance diagram for LteSchedulerEnbUlD2D:
[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 LteSchedulerEnbUl
virtual void updateHarqDescs ()
 Updates HARQ descriptor current process pointer (to be called every TTI by main loop).
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

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

Member Function Documentation

◆ scheduleAdditionalRetransmissions()

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

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

Reimplemented from LteSchedulerEnbUl.

◆ getScheduler()

LteScheduler * getScheduler ( SchedDiscipline discipline)
overrideprotected

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