LteSchedulerEnbDl Class Reference

Simu5G: LteSchedulerEnbDl Class Reference
Simu5G
LteSchedulerEnbDl Class Reference

#include <LteSchedulerEnbDl.h>

Protected Member Functions

bool checkEligibility (MacNodeId id, Codeword &cw, GHz carrierFrequency) override
bool rtxschedule (GHz carrierFrequency, BandLimitVector *bandLim=nullptr) override
unsigned int schedulePerAcidRtx (MacNodeId nodeId, GHz carrierFrequency, Codeword cw, unsigned char acid, std::vector< BandLimit > *bandLim=nullptr, Remote antenna=MACRO, bool limitBl=false) override

Detailed Description

LTE eNB downlink scheduler.

Member Function Documentation

◆ checkEligibility()

bool checkEligibility ( MacNodeId id,
Codeword & cw,
GHz carrierFrequency )
overrideprotected

Checks HARQ descriptors and returns the first free codeword.

Parameters
id
cw
carrierFreq
Returns

◆ rtxschedule()

bool rtxschedule ( GHz carrierFrequency,
BandLimitVector * bandLim = nullptr )
overrideprotected

Updates current schedule list with HARQ retransmissions.

Returns
true if OFDM space is exhausted.

◆ schedulePerAcidRtx()

unsigned int schedulePerAcidRtx ( MacNodeId nodeId,
GHz carrierFrequency,
Codeword cw,
unsigned char acid,
std::vector< BandLimit > * bandLim = nullptr,
Remote antenna = MACRO,
bool limitBl = false )
overrideprotected

Schedule retransmissions for background UEs

Returns
true if OFDM space is exhausted. Schedules retransmission for the HARQ process of the given UE on a set of logical bands. Each band has also assigned a band limit amount of bytes: no more than the specified amount will be served on the given band for the ACID.
Parameters
nodeIdThe node ID
cwThe codeword used to serve the acid process
bandsA vector of logical bands
acidThe ACID
Returns
The allocated bytes. 0 if retransmission was not possible