25 #include <ns3/uinteger.h>
26 #include <ns3/object-base.h>
27 #include <unordered_map>
231 return std::hash<uint8_t> {} (s);
This class contains the specification of EPS Bearers.
static uint32_t GetAvgWindow(const BearerRequirementsMap &map, Qci qci)
Get default averaging window for the selected QCI.
static double GetPacketErrorLossRate(const BearerRequirementsMap &map, Qci qci)
Get packet error rate for the selected QCI.
static BearerRequirementsMap * GetRequirementsRel15()
Retrieve requirements for Rel.
void SetRelease(uint8_t release)
SetRelease.
std::unordered_map< Qci, std::tuple< bool, uint8_t, uint16_t, double, uint32_t, uint32_t >, QciHash > BearerRequirementsMap
Map between QCI and requirements.
static BearerRequirementsMap * GetRequirementsRel11()
Retrieve requirements for Rel.
AllocationRetentionPriority arp
allocation retention priority
BearerRequirementsMap * m_requirements
Requirements pointer per bearer.
uint8_t GetPriority() const
uint8_t GetRelease() const
GetRelease.
static uint32_t GetMaxDataBurst(const BearerRequirementsMap &map, Qci qci)
Get maximum data burst for the selected QCI.
static TypeId GetTypeId(void)
Get the type ID.
enum ns3::EpsBearer::Qci qci
Qos class indicator.
uint16_t GetPacketDelayBudgetMs() const
double GetPacketErrorLossRate() const
static uint8_t GetPriority(const BearerRequirementsMap &map, Qci qci)
Get priority for the selected QCI.
static uint16_t GetPacketDelayBudgetMs(const BearerRequirementsMap &map, Qci qci)
Get packet delay in ms for the selected QCI.
GbrQosInformation gbrQosInfo
GBR QOS information.
virtual TypeId GetInstanceTypeId(void) const override
Get the most derived TypeId for this Object.
virtual ~EpsBearer()
Deconstructor.
uint8_t m_release
Release (10 or 15)
static uint32_t IsGbr(const BearerRequirementsMap &map, Qci qci)
Is the selected QCI GBR?
EpsBearer()
Default constructor.
@ 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.
@ 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)
@ NGBR_VOICE_VIDEO_GAMING
Non-GBR Voice, Video, Interactive Streaming.
@ NGBR_MC_DATA
Non-GBR Mission Critical Data.
@ 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_NMC_PUSH_TO_TALK
GBR Non-Mission-Critical User Plane Push To Talk voice.
Anchor the ns-3 type and attribute system.
a unique identifier for an interface.
Every class exported by the ns3 library is enclosed in the ns3 namespace.
list x
Random number samples.
3GPP 23.203 Section 6.1.7.3 Allocation and Retention Priority characteristics
bool preemptionVulnerability
true if bearer can be preempted by others
bool preemptionCapability
true if bearer can preempt others
uint8_t priorityLevel
1-15; 1 = highest
AllocationRetentionPriority()
Default constructor, initializes member variables to zero or equivalent.
std::size_t operator()(Qci const &s) const noexcept
Hash the QCI like a normal uint8_t.