5G-LENA nr-v4.0
The 5G/NR module for the ns-3 simulator
Loading...
Searching...
No Matches

Mac fixed-size Header for UL. More...

#include "nr-mac-header-fs-ul.h"

+ Inheritance diagram for ns3::NrMacHeaderFsUl:
+ Collaboration diagram for ns3::NrMacHeaderFsUl:

Public Member Functions

 NrMacHeaderFsUl ()
 NrMacHeaderFsUl constructor.
 
 ~NrMacHeaderFsUl () override
 ~NrMacHeaderFsUl
 
TypeId GetInstanceTypeId () const override
 GetInstanceTypeId.
 
bool IsFixedSizeHeader () const
 Check if it really a fixed-size header.
 
void SetLcId (uint8_t lcId) override
 Set the LC ID.
 
- Public Member Functions inherited from ns3::NrMacHeaderFs
 NrMacHeaderFs ()
 Constructor.
 
uint32_t Deserialize (Buffer::Iterator start) override
 Deserialize from a buffer.
 
TypeId GetInstanceTypeId () const override
 GetInstanceTypeId.
 
uint8_t GetLcId () const
 Retrieve the LC ID of this header.
 
uint32_t GetSerializedSize () const override
 Get the serialized size.
 
bool operator== (const NrMacHeaderFs &o) const
 IsEqual.
 
void Print (std::ostream &os) const override
 Print the struct on a ostream.
 
void Serialize (Buffer::Iterator start) const override
 Serialize on a buffer.
 

Static Public Member Functions

static TypeId GetTypeId ()
 GetTypeId.
 
- Static Public Member Functions inherited from ns3::NrMacHeaderFs
static TypeId GetTypeId ()
 GetTypeId.
 

Static Public Attributes

static const uint8_t BIT_RATE_QUERY = 53
 Recommended bit rate query.
 
static const uint8_t C_RNTI = 58
 C-RNTI.
 
static const uint8_t CONFIGURED_GRANT_CONFIRMATION = 55
 Configured Grant Confirmation.
 
static const uint8_t SHORT_BSR = 61
 Short BSR.
 
static const uint8_t SHORT_TRUNCATED_BSR = 59
 Short Truncated BSR.
 
static const uint8_t SINGLE_ENTRY_PHR = 57
 Single entry PHR.
 
- Static Public Attributes inherited from ns3::NrMacHeaderFs
static const uint8_t PADDING = 63
 Padding.
 

Additional Inherited Members

- Protected Attributes inherited from ns3::NrMacHeaderFs
uint8_t m_lcid {0}
 LC ID.
 

Detailed Description

Mac fixed-size Header for UL.

This header performs some sanity check for the LCID value, but the functionality is almost the same as NrMacHeaderFs. Please note that, by standard, only some LCID can be used in UL transmissions.

Please refer to TS 38.321 section 6.1.2 for more information.

Users, don't use this header directly: you've been warned.

Internal:

This header must be used to report some fixed-sized CE to the UE. An example is NrMacShortBsrCe.

Introspection did not find any typical Config paths.
No Attributes are defined for this type.
No TraceSources are defined for this type.
Size of this type is 16 bytes (on a 64-bit architecture).

Definition at line 31 of file nr-mac-header-fs-ul.h.

Constructor & Destructor Documentation

◆ NrMacHeaderFsUl()

ns3::NrMacHeaderFsUl::NrMacHeaderFsUl ( )

NrMacHeaderFsUl constructor.

Definition at line 29 of file nr-mac-header-fs-ul.cc.

◆ ~NrMacHeaderFsUl()

ns3::NrMacHeaderFsUl::~NrMacHeaderFsUl ( )
override

~NrMacHeaderFsUl

Definition at line 34 of file nr-mac-header-fs-ul.cc.

Member Function Documentation

◆ GetInstanceTypeId()

TypeId ns3::NrMacHeaderFsUl::GetInstanceTypeId ( ) const
override

GetInstanceTypeId.

Returns
the instance type id

Definition at line 24 of file nr-mac-header-fs-ul.cc.

References GetTypeId().

+ Here is the call graph for this function:

◆ GetTypeId()

TypeId ns3::NrMacHeaderFsUl::GetTypeId ( )
static

GetTypeId.

Returns
the type id of the object

Definition at line 16 of file nr-mac-header-fs-ul.cc.

Referenced by GetInstanceTypeId().

+ Here is the caller graph for this function:

◆ IsFixedSizeHeader()

bool ns3::NrMacHeaderFsUl::IsFixedSizeHeader ( ) const

Check if it really a fixed-size header.

Returns
true if the lcId value stored internally matches with a fixed-size header

Definition at line 47 of file nr-mac-header-fs-ul.cc.

References BIT_RATE_QUERY, C_RNTI, CONFIGURED_GRANT_CONFIRMATION, ns3::NrMacHeaderFs::m_lcid, ns3::NrMacHeaderFs::PADDING, SHORT_BSR, SHORT_TRUNCATED_BSR, and SINGLE_ENTRY_PHR.

Referenced by SetLcId().

+ Here is the caller graph for this function:

◆ SetLcId()

void ns3::NrMacHeaderFsUl::SetLcId ( uint8_t  lcId)
overridevirtual

Set the LC ID.

Parameters
lcIdLC ID

It will assert if the value is not inside the vector of allowed one. To not make any error, please use one of the pre-defined const values in this class.

Reimplemented from ns3::NrMacHeaderFs.

Definition at line 40 of file nr-mac-header-fs-ul.cc.

References IsFixedSizeHeader(), and ns3::NrMacHeaderFs::m_lcid.

Referenced by ns3::NrMacShortBsrCe::NrMacShortBsrCe().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

Member Data Documentation

◆ BIT_RATE_QUERY

const uint8_t ns3::NrMacHeaderFsUl::BIT_RATE_QUERY = 53
static

Recommended bit rate query.

Definition at line 57 of file nr-mac-header-fs-ul.h.

Referenced by IsFixedSizeHeader().

◆ C_RNTI

const uint8_t ns3::NrMacHeaderFsUl::C_RNTI = 58
static

C-RNTI.

Definition at line 60 of file nr-mac-header-fs-ul.h.

Referenced by IsFixedSizeHeader().

◆ CONFIGURED_GRANT_CONFIRMATION

const uint8_t ns3::NrMacHeaderFsUl::CONFIGURED_GRANT_CONFIRMATION = 55
static

Configured Grant Confirmation.

Definition at line 58 of file nr-mac-header-fs-ul.h.

Referenced by IsFixedSizeHeader().

◆ SHORT_BSR

const uint8_t ns3::NrMacHeaderFsUl::SHORT_BSR = 61
static

◆ SHORT_TRUNCATED_BSR

const uint8_t ns3::NrMacHeaderFsUl::SHORT_TRUNCATED_BSR = 59
static

Short Truncated BSR.

Definition at line 61 of file nr-mac-header-fs-ul.h.

Referenced by IsFixedSizeHeader().

◆ SINGLE_ENTRY_PHR

const uint8_t ns3::NrMacHeaderFsUl::SINGLE_ENTRY_PHR = 57
static

Single entry PHR.

Definition at line 59 of file nr-mac-header-fs-ul.h.

Referenced by IsFixedSizeHeader().


The documentation for this class was generated from the following files: