5#ifndef BWPMANAGERALGORITHM_H
6#define BWPMANAGERALGORITHM_H
8#include "nr-eps-bearer.h"
10#include "ns3/object.h"
633 std::unordered_map<uint8_t, uint8_t> m_qciToBwpMap;
Interface for a Bwp selection algorithm based on the bearer.
virtual uint8_t GetBwpForEpsBearer(const NrEpsBearer::Qci &v) const =0
Get the bandwidth part id for the Qci specified.
static TypeId GetTypeId()
GetTypeId.
BwpManagerAlgorithm()=default
constructor
~BwpManagerAlgorithm() override=default
The BwpManagerAlgorithmStatic class.
void SetLiveUlStream73Bwp(uint8_t bwpIndex)
Set BWP index of the QCI in the function name.
void SetInterService88Bwp(uint8_t bwpIndex)
Set BWP index of the QCI in the function name.
void SetNgbrV2xBwp(uint8_t bwpIndex)
Set BWP index of the QCI in the function name.
void SetNmcPttBwp(uint8_t bwpIndex)
Set BWP index of the QCI in the function name.
void SetMcPttBwp(uint8_t bwpIndex)
Set BWP index of the QCI in the function name.
void SetVideoTcpDefaultBwp(uint8_t bwpIndex)
Set BWP index of the QCI in the function name.
void SetGbrV2xBwp(uint8_t bwpIndex)
Set BWP index of the QCI in the function name.
uint8_t GetLiveUlStream72Bwp() const
Get the BWP index of the QCI in the function name.
void SetLiveUlStream72Bwp(uint8_t bwpIndex)
Set BWP index of the QCI in the function name.
uint8_t GetVideoTcpPremiumBwp() const
Get the BWP index of the QCI in the function name.
void SetVisualContent90Bwp(uint8_t bwpIndex)
Set BWP index of the QCI in the function name.
uint8_t GetVisualContent89Bwp() const
Get the BWP index of the QCI in the function name.
void SetImsBwp(uint8_t bwpIndex)
Set BWP index of the QCI in the function name.
uint8_t GetMcPttBwp() const
Get the BWP index of the QCI in the function name.
uint8_t GetLiveUlStream74Bwp() const
Get the BWP index of the QCI in the function name.
uint8_t GetVideoGamingBwp() const
Get the BWP index of the QCI in the function name.
uint8_t GetNonConvVideoBwp() const
Get the BWP index of the QCI in the function name.
void SetLiveUlStream76Bwp(uint8_t bwpIndex)
Set BWP index of the QCI in the function name.
uint8_t GetDiscreteAutSmallBwp() const
Get the BWP index of the QCI in the function name.
uint8_t GetImsBwp() const
Get the BWP index of the QCI in the function name.
uint8_t GetVideoTcpDefaultBwp() const
Get the BWP index of the QCI in the function name.
BwpManagerAlgorithmStatic()=default
constructor
uint8_t GetNmcPttBwp() const
Get the BWP index of the QCI in the function name.
void SetLowLatEmbbBwp(uint8_t bwpIndex)
Set BWP index of the QCI in the function name.
void SetLiveUlStream71Bwp(uint8_t bwpIndex)
Set BWP index of the QCI in the function name.
uint8_t GetLiveUlStream71Bwp() const
Get the BWP index of the QCI in the function name.
uint8_t GetVideoTcpOpBwp() const
Get the BWP index of the QCI in the function name.
uint8_t GetLowLatEmbbBwp() const
Get the BWP index of the QCI in the function name.
uint8_t GetInterService87Bwp() const
Get the BWP index of the QCI in the function name.
void SetDiscreteAutLargeBwp(uint8_t bwpIndex)
Set BWP index of the QCI in the function name.
uint8_t GetNgbrV2xBwp() const
Get the BWP index of the QCI in the function name.
uint8_t GetItsBwp() const
Get the BWP index of the QCI in the function name.
void SetVideoTcpPremiumBwp(uint8_t bwpIndex)
Set BWP index of the QCI in the function name.
uint8_t GetInterService88Bwp() const
Get the BWP index of the QCI in the function name.
uint8_t GetElectricityBwp() const
Get the BWP index of the QCI in the function name.
void SetMcDelaySignalBwp(uint8_t bwpIndex)
Set BWP index of the QCI in the function name.
uint8_t GetLiveUlStream73Bwp() const
Get the BWP index of the QCI in the function name.
void SetVisualContent89Bwp(uint8_t bwpIndex)
Set BWP index of the QCI in the function name.
uint8_t GetLiveUlStream76Bwp() const
Get the BWP index of the QCI in the function name.
uint8_t GetVisualContent90Bwp() const
Get the BWP index of the QCI in the function name.
void SetLiveUlStream74Bwp(uint8_t bwpIndex)
Set BWP index of the QCI in the function name.
void SetInterService87Bwp(uint8_t bwpIndex)
Set BWP index of the QCI in the function name.
uint8_t GetDiscreteAutLargeBwp() const
Get the BWP index of the QCI in the function name.
void SetElectricityBwp(uint8_t bwpIndex)
Set BWP index of the QCI in the function name.
void SetItsBwp(uint8_t bwpIndex)
Set BWP index of the QCI in the function name.
uint8_t GetMcDataBwp() const
Get the BWP index of the QCI in the function name.
void SetMcDataBwp(uint8_t bwpIndex)
Set BWP index of the QCI in the function name.
void SetConvVoiceBwp(uint8_t bwpIndex)
Set BWP index of the QCI in the function name.
uint8_t GetMcVideoBwp() const
Get the BWP index of the QCI in the function name.
static TypeId GetTypeId()
GetTypeId.
uint8_t GetConvVoiceBwp() const
Get the BWP index of the QCI in the function name.
uint8_t GetGbrV2xBwp() const
Get the BWP index of the QCI in the function name.
uint8_t GetConvVideoBwp() const
Get the BWP index of the QCI in the function name.
void SetMcVideoBwp(uint8_t bwpIndex)
Set BWP index of the QCI in the function name.
~BwpManagerAlgorithmStatic() override=default
deconstructor
uint8_t GetGamingBwp() const
Get the BWP index of the QCI in the function name.
void SetVideoGamingBwp(uint8_t bwpIndex)
Set BWP index of the QCI in the function name.
void SetGamingBwp(uint8_t bwpIndex)
Set BWP index of the QCI in the function name.
void SetConvVideoBwp(uint8_t bwpIndex)
Set BWP index of the QCI in the function name.
uint8_t GetBwpForEpsBearer(const NrEpsBearer::Qci &v) const override
Get the bandwidth part id for the Qci specified.
void SetDiscreteAutSmallBwp(uint8_t bwpIndex)
Set BWP index of the QCI in the function name.
void SetNonConvVideoBwp(uint8_t bwpIndex)
Set BWP index of the QCI in the function name.
void SetVideoTcpOpBwp(uint8_t bwpIndex)
Set BWP index of the QCI in the function name.
uint8_t GetMcDelaySignalBwp() const
Get the BWP index of the QCI in the function name.
@ NGBR_LOW_LAT_EMBB
Non-GBR Low Latency eMBB applications.
@ DGBR_VISUAL_CONTENT_89
Delay-Critical GBR Visual Content for cloud/edge/split rendering (TS 23.501)
@ GBR_V2X
GBR V2X Messages.
@ NGBR_V2X
Non-GBR V2X Messages.
@ GBR_NMC_PUSH_TO_TALK
GBR Non-Mission-Critical User Plane Push To Talk voice.
@ GBR_LIVE_UL_71
GBR Live UL streaming.
@ NGBR_MC_DELAY_SIGNAL
Non-GBR Mission Critical Delay Sensitive Signalling (e.g., MC-PTT)
@ DGBR_DISCRETE_AUT_SMALL
Delay-Critical GBR Discrete Automation Small Packets (TS 22.261)
@ GBR_CONV_VOICE
GBR Conversational Voice.
@ NGBR_VOICE_VIDEO_GAMING
Non-GBR Voice, Video, Interactive Streaming.
@ GBR_LIVE_UL_76
GBR Live UL streaming.
@ NGBR_VIDEO_TCP_OPERATOR
Non-GBR TCP-based Video (Buffered Streaming, e.g., www, e-mail...)
@ GBR_GAMING
GBR Real Time Gaming.
@ GBR_CONV_VIDEO
GBR Conversational Video (Live streaming)
@ GBR_LIVE_UL_72
GBR Live UL streaming.
@ DGBR_INTER_SERV_88
Delay-Critical GBR Interactive Service - Motion tracking data (TS 23.501)
@ NGBR_VIDEO_TCP_DEFAULT
Non-GBR TCP-based Video (Buffered Streaming, e.g., www, e-mail...)
@ DGBR_VISUAL_CONTENT_90
Delay-Critical GBR Visual Content for cloud/edge/split rendering (TS 23.501)
@ DGBR_ITS
Delay-Critical GBR Intelligent Transport Systems (TS 22.261)
@ NGBR_IMS
Non-GBR IMS Signalling.
@ NGBR_MC_DATA
Non-GBR Mission Critical Data.
@ GBR_MC_VIDEO
GBR Mission Critical Video User Plane.
@ DGBR_INTER_SERV_87
Delay-Critical GBR Interactive Service - Motion tracking data (TS 23.501)
@ NGBR_VIDEO_TCP_PREMIUM
Non-GBR TCP-based Video (Buffered Streaming, e.g., www, e-mail...)
@ GBR_LIVE_UL_74
GBR Live UL streaming.
@ GBR_LIVE_UL_73
GBR Live UL streaming.
@ DGBR_ELECTRICITY
Delay-Critical GBR Electricity Distribution High Voltage (TS 22.261)
@ DGBR_DISCRETE_AUT_LARGE
Delay-Critical GBR Discrete Automation Large Packets (TS 22.261)
@ GBR_MC_PUSH_TO_TALK
GBR Mission Critical User Plane Push To Talk voice.
@ GBR_NON_CONV_VIDEO
GBR Non-Conversational Video (Buffered Streaming)