5G-LENA nr-v3.3-159-ga6832aa7
The 5G/NR module for the ns-3 simulator
Loading...
Searching...
No Matches
nr-mac-scheduler-lc-qos.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_QOS_H
6#define NR_MAC_SCHEDULER_LC_QOS_H
7
8#include "nr-mac-scheduler-lc-alg.h"
9
10namespace ns3
11{
12
21{
22 public:
27 static TypeId GetTypeId();
28
36 ~NrMacSchedulerLcQos() override;
37
60 std::vector<Assignation> AssignBytesToDlLC(const std::unordered_map<uint8_t, LCGPtr>& ueLCG,
61 uint32_t tbs,
62 Time slotPeriod) const override;
63
72 std::vector<Assignation> AssignBytesToUlLC(const std::unordered_map<uint8_t, LCGPtr>& ueLCG,
73 uint32_t tbs) const override;
74};
75} // namespace ns3
76
77#endif /*NR_MAC_SCHEDULER_LC_QOS_H*/
This class is the interface for the creation of various scheduling algorithms for the distribution of...
Algorithm for distributing the assigned bytes to the different LCGs/LCs of a UE based on the resource...
~NrMacSchedulerLcQos() override
NrMacSchedulerLcQos deconstructor.
static TypeId GetTypeId()
Get the type ID.
NrMacSchedulerLcQos()
NrMacSchedulerLcQos constructor.
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....
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....