5G-LENA nr-v3.3-161-gad18933f
The 5G/NR module for the ns-3 simulator
Loading...
Searching...
No Matches
nr-mac-scheduler-ofdma-mr.h
1// Copyright (c) 2019 Centre Tecnologic de Telecomunicacions de Catalunya (CTTC)
2//
3// SPDX-License-Identifier: GPL-2.0-only
4
5#pragma once
6
7#include "nr-mac-scheduler-ofdma-rr.h"
8
9namespace ns3
10{
11
22{
23 public:
28 static TypeId GetTypeId();
29
34
39 {
40 }
41
42 protected:
48 std::shared_ptr<NrMacSchedulerUeInfo> CreateUeRepresentation(
49 const NrMacCschedSapProvider::CschedUeConfigReqParameters& params) const override;
50
55 std::function<bool(const NrMacSchedulerNs3::UePtrAndBufferReq& lhs,
57 GetUeCompareDlFn() const override;
58
63 std::function<bool(const NrMacSchedulerNs3::UePtrAndBufferReq& lhs,
65 GetUeCompareUlFn() const override;
66};
67
68} // namespace ns3
std::pair< UePtr, uint32_t > UePtrAndBufferReq
Pair between a pointer to NrMacSchedulerUeInfo and its buffer occupancy.
Assign frequencies in a maximum-rate fashion.
std::shared_ptr< NrMacSchedulerUeInfo > CreateUeRepresentation(const NrMacCschedSapProvider::CschedUeConfigReqParameters &params) const override
Create an UE representation of the type NrMacSchedulerUeInfoMR.
NrMacSchedulerOfdmaMR()
NrMacSchedulerOfdmaMR constructor.
~NrMacSchedulerOfdmaMR() override
~NrMacSchedulerOfdmaMR deconstructor
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.
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.
static TypeId GetTypeId()
GetTypeId.
Assign frequencies in a round-robin fashion.