6#include "nr-mac-scheduler-ofdma-rr.h"
171 const FTResources& assignableInIteration)
const override;
182 const FTResources& assignableInIteration)
const override;
std::pair< UePtr, uint32_t > UePtrAndBufferReq
Pair between a pointer to NrMacSchedulerUeInfo and its buffer occupancy.
PointInFTPlane FTResources
Represent an amount of RBG/symbols that can be, or is, assigned.
Assign frequencies in QoS-based fashion.
void SetTimeWindow(double v)
Set the attribute "LastAvgTPutWeight".
NrMacSchedulerOfdmaQos()
NrMacSchedulerOfdmaQos constructor.
void BeforeUlSched(const UePtrAndBufferReq &ue, const FTResources &assignableInIteration) const override
Calculate the potential throughput for the UL based on the available resources.
void AssignedDlResources(const UePtrAndBufferReq &ue, const FTResources &assigned, const FTResources &totAssigned) const override
Update the UE representation after a symbol (DL) has been assigned to it.
void SetFairnessIndex(double v)
Set the value of attribute "FairnessIndex".
void NotAssignedDlResources(const UePtrAndBufferReq &ue, const FTResources ¬Assigned, const FTResources &totalAssigned) const override
Update DL metrics by calling NrMacSchedulerUeInfoQos::UpdateQosDlMetric.
std::function< bool(const NrMacSchedulerNs3::UePtrAndBufferReq &lhs, const NrMacSchedulerNs3::UePtrAndBufferReq &rhs)> GetUeCompareDlFn() const override
Return the comparison function to sort DL UE according to the scheduler policy.
std::shared_ptr< NrMacSchedulerUeInfo > CreateUeRepresentation(const NrMacCschedSapProvider::CschedUeConfigReqParameters ¶ms) const override
Create an UE representation of the type NrMacSchedulerUeInfoQos.
~NrMacSchedulerOfdmaQos() override
~NrMacSchedulerOfdmaQos deconstructor
void BeforeDlSched(const UePtrAndBufferReq &ue, const FTResources &assignableInIteration) const override
Calculate the potential throughput for the DL based on the available resources.
void AssignedUlResources(const UePtrAndBufferReq &ue, const FTResources &assigned, const FTResources &totAssigned) const override
Update the UE representation after a symbol (UL) has been assigned to it.
double GetTimeWindow() const
Get the attribute "LastAvgTPutWeight".
double GetFairnessIndex() const
Get the value of attribute "FairnessIndex".
std::function< bool(const NrMacSchedulerNs3::UePtrAndBufferReq &lhs, const NrMacSchedulerNs3::UePtrAndBufferReq &rhs)> GetUeCompareUlFn() const override
Return the comparison function to sort UL UE according to the scheduler policy.
void NotAssignedUlResources(const UePtrAndBufferReq &ue, const FTResources ¬Assigned, const FTResources &totalAssigned) const override
Update UL metrics by calling NrMacSchedulerUeInfoQos::UpdateQosUlMetric.
static TypeId GetTypeId()
GetTypeId.
Assign frequencies in a round-robin fashion.