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.
#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.
Ptr< const AttributeAccessor > MakeUintegerAccessor(T1 a1)
AllocationRetentionPriority()
Default constructor, initializes member variables to zero or equivalent.