5#ifndef NR_MAC_SCHEDULER_SRS_H
6#define NR_MAC_SCHEDULER_SRS_H
8#include "nr-mac-scheduler-ue-info.h"
103 std::unordered_map<uint16_t, std::shared_ptr<NrMacSchedulerUeInfo>>* ueMap) = 0;
114 std::unordered_map<uint16_t, std::shared_ptr<NrMacSchedulerUeInfo>>* ueMap) = 0;
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.