22#include <ns3/attribute-construction-list.h>
23#include <ns3/fatal-error.h>
40 preemptionCapability(false),
41 preemptionVulnerability(false)
55 "Change from 11 to 18 if you need bearer definition as per newer Releases."
56 " Reference document: TS 23.203. The change does not impact other LTE code than "
57 " bearers definition.",
60 MakeUintegerChecker<uint32_t>());
72 qci(NGBR_VIDEO_TCP_DEFAULT)
119 <<
" please choose a value between"
120 " 8 and 11, or 15 or 18");
166 {
GBR_GAMING, std::make_tuple(1, 3, 50, 1.0e-3, 0, 0)},
168 {
NGBR_IMS, std::make_tuple(0, 1, 100, 1.0e-6, 0, 0)},
184 {
GBR_GAMING, std::make_tuple(1, 30, 50, 1.0e-3, 0, 2000)},
188 {
GBR_MC_VIDEO, std::make_tuple(1, 15, 100, 1.0e-3, 0, 2000)},
189 {
GBR_V2X, std::make_tuple(1, 25, 50, 1.0e-2, 0, 2000)},
190 {
NGBR_IMS, std::make_tuple(0, 10, 100, 1.0e-6, 0, 0)},
196 {
NGBR_MC_DATA, std::make_tuple(0, 55, 200, 1.0e-6, 0, 0)},
197 {
NGBR_V2X, std::make_tuple(0, 65, 5, 1.0e-2, 0, 0)},
201 {
DGBR_ITS, std::make_tuple(2, 24, 30, 1.0e-5, 1354, 2000)},
214 {
GBR_GAMING, std::make_tuple(1, 30, 50, 1.0e-3, 0, 2000)},
218 {
GBR_MC_VIDEO, std::make_tuple(1, 15, 100, 1.0e-3, 0, 2000)},
219 {
GBR_V2X, std::make_tuple(1, 25, 50, 1.0e-2, 0, 2000)},
220 {
NGBR_IMS, std::make_tuple(0, 10, 100, 1.0e-6, 0, 0)},
226 {
NGBR_MC_DATA, std::make_tuple(0, 55, 200, 1.0e-6, 0, 0)},
227 {
NGBR_V2X, std::make_tuple(0, 65, 5, 1.0e-2, 0, 0)},
236 {
DGBR_ITS, std::make_tuple(2, 24, 30, 1.0e-5, 1354, 2000)},
238 {
DGBR_V2X, std::make_tuple(2, 18, 5, 1.0e-4, 1354, 2000)},
List of Attribute name, value and checker triples used to construct Objects.
This class contains the specification of EPS Bearers.
void SetRelease(uint8_t release)
SetRelease.
BearerRequirementsMap m_requirements
Requirements pointer per bearer.
static const BearerRequirementsMap & GetRequirementsRel15()
Retrieve requirements for Rel.
TypeId GetInstanceTypeId() const override
Get the most derived TypeId for this Object.
static const BearerRequirementsMap & GetRequirementsRel18()
Retrieve requirements for Rel.
uint8_t GetPriority() const
uint8_t GetRelease() const
GetRelease.
uint8_t GetResourceType() const
uint16_t GetPacketDelayBudgetMs() const
double GetPacketErrorLossRate() const
static const BearerRequirementsMap & GetRequirementsRel11()
Retrieve requirements for Rel.
Qci qci
Qos class indicator.
std::unordered_map< Qci, std::tuple< uint8_t, uint8_t, uint16_t, double, uint32_t, uint32_t >, QciHash > BearerRequirementsMap
Map between QCI and requirements.
GbrQosInformation gbrQosInfo
GBR QOS information.
uint8_t m_release
Release (10 or 15 or 18)
static TypeId GetTypeId()
Get the type ID.
EpsBearer()
Default constructor.
@ DGBR_VISUAL_CONTENT_90
Delay-Critical GBR Visual Content for cloud/edge/split rendering (TS 23.501)
@ GBR_CONV_VOICE
GBR Conversational Voice.
@ NGBR_VIDEO_TCP_DEFAULT
Non-GBR TCP-based Video (Buffered Streaming, e.g., www, e-mail...)
@ 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)
@ GBR_V2X
GBR V2X Messages.
@ GBR_GAMING
GBR Real Time Gaming.
@ GBR_MC_VIDEO
GBR Mission Critical Video User Plane.
@ GBR_LIVE_UL_76
GBR Live UL streaming.
@ DGBR_ITS
Delay-Critical GBR Intelligent Transport Systems (TS 22.261)
@ NGBR_V2X
Non-GBR V2X Messages.
@ NGBR_LOW_LAT_EMBB
Non-GBR Low Latency eMBB applications.
@ GBR_CONV_VIDEO
GBR Conversational Video (Live streaming)
@ DGBR_DISCRETE_AUT_SMALL
Delay-Critical GBR Discrete Automation Small Packets (TS 22.261)
@ DGBR_ELECTRICITY
Delay-Critical GBR Electricity Distribution High Voltage (TS 22.261)
@ DGBR_INTER_SERV_88
Delay-Critical GBR Interactive Service - Motion tracking data (TS 23.501)
@ NGBR_VOICE_VIDEO_GAMING
Non-GBR Voice, Video, Interactive Streaming.
@ NGBR_MC_DATA
Non-GBR Mission Critical Data.
@ GBR_LIVE_UL_72
GBR Live UL streaming.
@ NGBR_VIDEO_TCP_OPERATOR
Non-GBR TCP-based Video (Buffered Streaming, e.g., www, e-mail...)
@ NGBR_MC_DELAY_SIGNAL
Non-GBR Mission Critical Delay Sensitive Signalling (e.g., MC-PTT)
@ NGBR_IMS
Non-GBR IMS Signalling.
@ NGBR_VIDEO_TCP_PREMIUM
Non-GBR TCP-based Video (Buffered Streaming, e.g., www, e-mail...)
@ GBR_LIVE_UL_73
GBR Live UL streaming.
@ DGBR_V2X
Delay-Critical GBR V2X Messages (TS 23.501)
@ DGBR_VISUAL_CONTENT_89
Delay-Critical GBR Visual Content for cloud/edge/split rendering (TS 23.501)
@ DGBR_INTER_SERV_87
Delay-Critical GBR Interactive Service - Motion tracking data (TS 23.501)
@ GBR_NMC_PUSH_TO_TALK
GBR Non-Mission-Critical User Plane Push To Talk voice.
@ GBR_LIVE_UL_74
GBR Live UL streaming.
@ GBR_LIVE_UL_71
GBR Live UL streaming.
Anchor the ns-3 type and attribute system.
void ConstructSelf(const AttributeConstructionList &attributes)
Complete construction of ObjectBase; invoked by derived classes.
a unique identifier for an interface.
TypeId SetParent(TypeId tid)
Set the parent TypeId.
Hold an unsigned integer type.
Ptr< const AttributeAccessor > MakeUintegerAccessor(T1 a1)
#define NS_FATAL_ERROR(msg)
Report a fatal error with a message and terminate.
#define NS_OBJECT_ENSURE_REGISTERED(type)
Register an Object subclass with the TypeId system.
Every class exported by the ns3 library is enclosed in the ns3 namespace.
AllocationRetentionPriority()
Default constructor, initializes member variables to zero or equivalent.