10#include "ns3/object-base.h"
11#include "ns3/uinteger.h"
13#include <unordered_map>
86 TypeId GetInstanceTypeId()
const override;
238 using BearerRequirementsMap =
239 std::unordered_map<Qci, std::tuple<uint8_t, uint8_t, uint16_t, double, uint32_t, uint32_t>>;
249 return std::get<0>(map.at(
qci));
260 return std::get<1>(map.at(
qci));
271 return std::get<2>(map.at(
qci));
282 return std::get<3>(map.at(
qci));
291 static uint32_t GetMaxDataBurst(
const BearerRequirementsMap& map,
Qci qci)
293 return std::get<4>(map.at(
qci));
302 static uint32_t GetAvgWindow(
const BearerRequirementsMap& map,
Qci qci)
304 return std::get<5>(map.at(
qci));
318 static const BearerRequirementsMap& GetRequirementsRel11();
331 static const BearerRequirementsMap& GetRequirementsRel15();
337 static const BearerRequirementsMap& GetRequirementsRel18();
344 BearerRequirementsMap m_requirements;
346 uint8_t m_release{30};
This class contains the specification of EPS Bearers.
uint16_t GetPacketDelayBudgetMs() const
uint8_t GetRelease() const
GetRelease.
Qci qci
Qos class indicator.
NrGbrQosInformation gbrQosInfo
GBR QOS information.
void SetRelease(uint8_t release)
SetRelease.
uint8_t GetPriority() const
~NrEpsBearer() override
Deconstructor.
uint8_t GetResourceType() const
double GetPacketErrorLossRate() const
@ 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)
@ DGBR_V2X
Delay-Critical GBR V2X Messages (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)
NrAllocationRetentionPriority arp
allocation retention priority
static TypeId GetTypeId()
Get the type ID.
bool preemptionCapability
true if bearer can preempt others
uint8_t priorityLevel
1-15; 1 = highest
bool preemptionVulnerability
true if bearer can be preempted by others
NrAllocationRetentionPriority()