5#ifndef NR_MAC_SCHEDULER_LC_ALGORITHM_H
6#define NR_MAC_SCHEDULER_LC_ALGORITHM_H
8#include "nr-mac-scheduler-lcg.h"
10#include "ns3/object.h"
109 const std::unordered_map<uint8_t, LCGPtr>& ueLCG,
111 Time slotPeriod)
const = 0;
123 const std::unordered_map<uint8_t, LCGPtr>& ueLCG,
124 uint32_t tbs)
const = 0;
This class is the interface for the creation of various scheduling algorithms for the distribution of...
~NrMacSchedulerLcAlgorithm() override
~NrMacSchedulerLc deconstructor
static TypeId GetTypeId()
GetTypeId.
NrMacSchedulerLcAlgorithm()
NrMacSchedulerLcAlgorithm constructor.
virtual std::vector< Assignation > AssignBytesToUlLC(const std::unordered_map< uint8_t, LCGPtr > &ueLCG, uint32_t tbs) const =0
Method to decide how to distribute the assigned bytes to the different LCs for the UL direction....
virtual std::vector< Assignation > AssignBytesToDlLC(const std::unordered_map< uint8_t, LCGPtr > &ueLCG, uint32_t tbs, Time slotPeriod) const =0
Method to decide how to distribute the assigned bytes to the different LCs for the DL direction....
Represent an assignation of bytes to a LCG/LC.
Assignation(const Assignation &o)=delete
Assignation copy constructor (deleted)
uint32_t m_bytes
Bytes assigned to the LC.
Assignation(Assignation &&o)=default
Assignation move constructor (default)
Assignation()=delete
Assignation constructor (deleted)
Assignation(uint8_t lcg, uint8_t lcId, uint32_t bytes)
Assignation constructor with parameters.
~Assignation()=default
Default deconstructor.