5G-LENA nr-v3.3-159-ga6832aa7
The 5G/NR module for the ns-3 simulator
Loading...
Searching...
No Matches
nr-mac-scheduler-lc-rr.h
1// Copyright (c) 2023 Centre Tecnologic de Telecomunicacions de Catalunya (CTTC)
2//
3// SPDX-License-Identifier: GPL-2.0-only
4
5#ifndef NR_MAC_SCHEDULER_LC_RR_H
6#define NR_MAC_SCHEDULER_LC_RR_H
7
8#include "nr-mac-scheduler-lc-alg.h"
9
10namespace ns3
11{
12
21{
22 public:
27 static TypeId GetTypeId();
28
36 ~NrMacSchedulerLcRR() override;
37
46 std::vector<Assignation> AssignBytesToDlLC(const std::unordered_map<uint8_t, LCGPtr>& ueLCG,
47 uint32_t tbs,
48 Time slotPeriod) const override;
49
58 std::vector<Assignation> AssignBytesToUlLC(const std::unordered_map<uint8_t, LCGPtr>& ueLCG,
59 uint32_t tbs) const override;
60
67 private:
68 std::vector<Assignation> AssignBytesToLC(const std::unordered_map<uint8_t, LCGPtr>& ueLCG,
69 uint32_t tbs) const;
70};
71} // namespace ns3
72
73#endif /*NR_MAC_SCHEDULER_LC_RR_H*/
This class is the interface for the creation of various scheduling algorithms for the distribution of...
Default algorithm for distributing the assigned bytes to the different LCGs/LCs of a UE in a Round Ro...
std::vector< Assignation > AssignBytesToUlLC(const std::unordered_map< uint8_t, LCGPtr > &ueLCG, uint32_t tbs) const override
Method to decide how to distribute the assigned bytes to the different LCs for the UL direction....
std::vector< Assignation > AssignBytesToDlLC(const std::unordered_map< uint8_t, LCGPtr > &ueLCG, uint32_t tbs, Time slotPeriod) const override
Method to decide how to distribute the assigned bytes to the different LCs for the DL direction....
NrMacSchedulerLcRR()
NrMacSchedulerLcRR constructor.
~NrMacSchedulerLcRR() override
NrMacSchedulerLcRR deconstructor.
static TypeId GetTypeId()
Get the type ID.