5G-LENA nr-v3.3-120-gdac69c56
The 5G/NR module for the ns-3 simulator
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Modules Pages

Mac variable-size Header for DL. More...

#include "nr-mac-header-vs-dl.h"

+ Inheritance diagram for ns3::NrMacHeaderVsDl:
+ Collaboration diagram for ns3::NrMacHeaderVsDl:

Public Member Functions

 NrMacHeaderVsDl ()
 NrMacHeaderVsDl constructor.
 
 ~NrMacHeaderVsDl () override
 ~NrMacHeaderVsDl
 
TypeId GetInstanceTypeId () const override
 GetInstanceTypeId.
 
bool IsVariableSizeHeader () const
 Check if it really a variable-size header.
 
void SetLcId (uint8_t lcId) override
 Set the LC ID.
 
- Public Member Functions inherited from ns3::NrMacHeaderVs
 NrMacHeaderVs ()
 NrMacHeaderVs 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.
 
uint16_t GetSize () const
 GetS the stored size (L in the standard)
 
bool operator== (const NrMacHeaderVs &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.
 
void SetSize (uint16_t size)
 Set the size to store (L in the standard)
 

Static Public Member Functions

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

Static Public Attributes

static const uint8_t APERIODIC_CSI = 54
 Aperiodic CSI Trigger State Subselection.
 
static const uint8_t SP_CSI_RS_IM
 SP CSI-RS / CSI-IM Resource Set Activation/Deactivation.
 
static const uint8_t SP_SRS = 50
 SP SRS Activation/Deactivation.
 
static const uint8_t TCI_STATES_PDSCH
 TCI States Activation/Deactivation for UE-specific PDSCH.
 
- Static Public Attributes inherited from ns3::NrMacHeaderVs
static const uint8_t LC_ID_1 = 1
 Identity of the logical channel 1.
 
static const uint8_t LC_ID_10 = 10
 Identity of the logical channel 10.
 
static const uint8_t LC_ID_11 = 11
 Identity of the logical channel 11.
 
static const uint8_t LC_ID_12 = 12
 Identity of the logical channel 12.
 
static const uint8_t LC_ID_13 = 13
 Identity of the logical channel 13.
 
static const uint8_t LC_ID_14 = 14
 Identity of the logical channel 14.
 
static const uint8_t LC_ID_15 = 15
 Identity of the logical channel 15.
 
static const uint8_t LC_ID_16 = 16
 Identity of the logical channel 16.
 
static const uint8_t LC_ID_17 = 17
 Identity of the logical channel 17.
 
static const uint8_t LC_ID_18 = 18
 Identity of the logical channel 18.
 
static const uint8_t LC_ID_19 = 19
 Identity of the logical channel 19.
 
static const uint8_t LC_ID_2 = 2
 Identity of the logical channel 2.
 
static const uint8_t LC_ID_20 = 20
 Identity of the logical channel 20.
 
static const uint8_t LC_ID_21 = 21
 Identity of the logical channel 21.
 
static const uint8_t LC_ID_22 = 22
 Identity of the logical channel 22.
 
static const uint8_t LC_ID_23 = 23
 Identity of the logical channel 23.
 
static const uint8_t LC_ID_24 = 24
 Identity of the logical channel 24.
 
static const uint8_t LC_ID_25 = 25
 Identity of the logical channel 25.
 
static const uint8_t LC_ID_26 = 26
 Identity of the logical channel 26.
 
static const uint8_t LC_ID_27 = 27
 Identity of the logical channel 27.
 
static const uint8_t LC_ID_28 = 28
 Identity of the logical channel 28.
 
static const uint8_t LC_ID_29 = 29
 Identity of the logical channel 29.
 
static const uint8_t LC_ID_3 = 3
 Identity of the logical channel 3.
 
static const uint8_t LC_ID_30 = 30
 Identity of the logical channel 30.
 
static const uint8_t LC_ID_31 = 31
 Identity of the logical channel 31.
 
static const uint8_t LC_ID_32 = 32
 Identity of the logical channel 32.
 
static const uint8_t LC_ID_4 = 4
 Identity of the logical channel 4.
 
static const uint8_t LC_ID_5 = 5
 Identity of the logical channel 5.
 
static const uint8_t LC_ID_6 = 6
 Identity of the logical channel 6.
 
static const uint8_t LC_ID_7 = 7
 Identity of the logical channel 7.
 
static const uint8_t LC_ID_8 = 8
 Identity of the logical channel 8.
 
static const uint8_t LC_ID_9 = 9
 Identity of the logical channel 9.
 

Additional Inherited Members

- Protected Attributes inherited from ns3::NrMacHeaderVs
uint8_t m_lcid {0}
 LC ID.
 
uint16_t m_size {0}
 Size (L in the standard)
 

Detailed Description

Mac variable-size Header for DL.

This header performs some sanity check for the LCID value, but the functionality is almost the same as NrMacHeaderVs. Please note that, by standard, only some LCID can be used in DL 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 variable-sized CE to the UE. At the moment, we don't use it.

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-vs-dl.h.

Constructor & Destructor Documentation

◆ NrMacHeaderVsDl()

ns3::NrMacHeaderVsDl::NrMacHeaderVsDl ( )

NrMacHeaderVsDl constructor.

Definition at line 29 of file nr-mac-header-vs-dl.cc.

◆ ~NrMacHeaderVsDl()

ns3::NrMacHeaderVsDl::~NrMacHeaderVsDl ( )
override

~NrMacHeaderVsDl

Definition at line 34 of file nr-mac-header-vs-dl.cc.

Member Function Documentation

◆ GetInstanceTypeId()

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

GetInstanceTypeId.

Returns
the instance type id

Definition at line 24 of file nr-mac-header-vs-dl.cc.

References GetTypeId().

+ Here is the call graph for this function:

◆ GetTypeId()

TypeId ns3::NrMacHeaderVsDl::GetTypeId ( )
static

GetTypeId.

Returns
the type id of the object

Definition at line 16 of file nr-mac-header-vs-dl.cc.

Referenced by GetInstanceTypeId().

+ Here is the caller graph for this function:

◆ IsVariableSizeHeader()

bool ns3::NrMacHeaderVsDl::IsVariableSizeHeader ( ) const

Check if it really a variable-size header.

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

Definition at line 54 of file nr-mac-header-vs-dl.cc.

References APERIODIC_CSI, ns3::NrMacHeaderVs::m_lcid, SP_CSI_RS_IM, SP_SRS, and TCI_STATES_PDSCH.

Referenced by SetLcId().

+ Here is the caller graph for this function:

◆ SetLcId()

void ns3::NrMacHeaderVsDl::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::NrMacHeaderVs.

Definition at line 40 of file nr-mac-header-vs-dl.cc.

References IsVariableSizeHeader(), ns3::NrMacHeaderVs::m_lcid, and ns3::NrMacHeaderVs::SetLcId().

+ Here is the call graph for this function:

Member Data Documentation

◆ APERIODIC_CSI

const uint8_t ns3::NrMacHeaderVsDl::APERIODIC_CSI = 54
static

Aperiodic CSI Trigger State Subselection.

Definition at line 59 of file nr-mac-header-vs-dl.h.

Referenced by IsVariableSizeHeader().

◆ SP_CSI_RS_IM

const uint8_t ns3::NrMacHeaderVsDl::SP_CSI_RS_IM
static
Initial value:
=
55

SP CSI-RS / CSI-IM Resource Set Activation/Deactivation.

Definition at line 60 of file nr-mac-header-vs-dl.h.

Referenced by IsVariableSizeHeader().

◆ SP_SRS

const uint8_t ns3::NrMacHeaderVsDl::SP_SRS = 50
static

SP SRS Activation/Deactivation.

Definition at line 56 of file nr-mac-header-vs-dl.h.

Referenced by IsVariableSizeHeader().

◆ TCI_STATES_PDSCH

const uint8_t ns3::NrMacHeaderVsDl::TCI_STATES_PDSCH
static
Initial value:
=
53

TCI States Activation/Deactivation for UE-specific PDSCH.

Definition at line 57 of file nr-mac-header-vs-dl.h.

Referenced by IsVariableSizeHeader().


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