5G-LENA nr-v3.3-120-gdac69c56
The 5G/NR module for the ns-3 simulator
Loading...
Searching...
No Matches
nr-mac-scheduler-srs.h
1// Copyright (c) 2019 Centre Tecnologic de Telecomunicacions de Catalunya (CTTC)
2//
3// SPDX-License-Identifier: GPL-2.0-only
4
5#ifndef NR_MAC_SCHEDULER_SRS_H
6#define NR_MAC_SCHEDULER_SRS_H
7
8#include "nr-mac-scheduler-ue-info.h"
9
10namespace ns3
11{
12
54{
55 public:
59 virtual ~NrMacSchedulerSrs() = default;
60
68 {
69 bool m_isValid{false};
70 uint32_t m_periodicity{0};
71 uint32_t m_offset{0};
72 };
73
83
92 virtual void RemoveUe(uint32_t offset) = 0;
93
103 std::unordered_map<uint16_t, std::shared_ptr<NrMacSchedulerUeInfo>>* ueMap) = 0;
104
114 std::unordered_map<uint16_t, std::shared_ptr<NrMacSchedulerUeInfo>>* ueMap) = 0;
115};
116} // namespace ns3
117
118#endif // NR_MAC_SCHEDULER_SRS_H
MAC scheduler SRS interface.
virtual bool DecreasePeriodicity(std::unordered_map< uint16_t, std::shared_ptr< NrMacSchedulerUeInfo > > *ueMap)=0
Decrease the periodicity and assign to all UEs a different offset.
virtual void RemoveUe(uint32_t offset)=0
Function called when the scheduler has to release a previously owned periodicity and offset.
virtual SrsPeriodicityAndOffset AddUe()=0
Function called when the scheduler needs to know what is the offset and periodicy of a newly added ue...
virtual bool IncreasePeriodicity(std::unordered_map< uint16_t, std::shared_ptr< NrMacSchedulerUeInfo > > *ueMap)=0
Increase the periodicity and assign to all UEs a different offset.
virtual ~NrMacSchedulerSrs()=default
Default.
Struct to indicate to the scheduler the periodicity and the offset, in slots.
uint32_t m_periodicity
The periodicity requested (in slot).
uint32_t m_offset
The offset requested (in slot).
bool m_isValid
Indicates if the values are valid.