LcgSchedulerD2D Class Reference

Simu5G: LcgSchedulerD2D Class Reference
Simu5G
LcgSchedulerD2D Class Reference

#include <LcgSchedulerD2D.h>

Inheritance diagram for LcgSchedulerD2D:
[legend]

Protected Member Functions

bool checkForPendingAdditionalBsr (Direction grantDir, Lcg lcg) override

Additional Inherited Members

Public Member Functions inherited from LcgScheduler
 LcgScheduler (LteMacUe *mac)
virtual ~LcgScheduler ()
virtual void setUeUlScheduler (LteSchedulerUeUl *ueScheduler)
Protected Types inherited from LcgScheduler
typedef std::list< MacCid > CidList
 Cid List.
Protected Attributes inherited from LcgScheduler
opp_component_ptr< LteMacUe > mac_
 MAC module, used to get parameters from NED.
LteSchedulerUeUl * ueScheduler_ = nullptr
 Associated LteSchedulerUeUl (it is the one who creates the LteScheduler)

Detailed Description

LCG (Logical Channel Group) UE uplink scheduler with device-to-device (D2D) support. Extends the clean LcgScheduler with the workaround that reserves an UL grant for the BSR of an active D2D connection. Created by the D2D UE MACs (LteMacUeD2D, NrMacUeD2D) via createLcgScheduler().

Member Function Documentation

◆ checkForPendingAdditionalBsr()

bool checkForPendingAdditionalBsr ( Direction grantDir,
Lcg lcg )
overrideprotectedvirtual

Hook, called once per LCG during schedule(): returns true if the current UL grant must be withheld so that it can carry the BSR of an active D2D connection instead. Default implementation never withholds (no-op); overridden by LcgSchedulerD2D.

Reimplemented from LcgScheduler.