5G-LENA nr-v3.3-159-ga6832aa7
The 5G/NR module for the ns-3 simulator
Loading...
Searching...
No Matches
ns3::NrRlc Class Referenceabstract

#include "nr-rlc.h"

+ Inheritance diagram for ns3::NrRlc:
+ Collaboration diagram for ns3::NrRlc:

Public Types

typedef void(* NotifyTxTracedCallback) (uint16_t rnti, uint8_t lcid, uint32_t bytes)
 
typedef void(* ReceiveTracedCallback) (uint16_t rnti, uint8_t lcid, uint32_t bytes, uint64_t delay)
 

Public Member Functions

void DoDispose () override
 
NrMacSapUserGetNrMacSapUser ()
 
NrRlcSapProviderGetNrRlcSapProvider ()
 
void SetLcId (uint8_t lcId)
 
void SetNrMacSapProvider (NrMacSapProvider *s)
 
void SetNrRlcSapUser (NrRlcSapUser *s)
 
void SetPacketDelayBudgetMs (uint16_t packetDelayBudget)
 
void SetRnti (uint16_t rnti)
 

Static Public Member Functions

static TypeId GetTypeId ()
 Get the type ID.
 

Protected Member Functions

virtual void DoNotifyHarqDeliveryFailure ()=0
 
virtual void DoNotifyTxOpportunity (NrMacSapUser::TxOpportunityParameters params)=0
 
virtual void DoReceivePdu (NrMacSapUser::ReceivePduParameters params)=0
 
virtual void DoTransmitPdcpPdu (Ptr< Packet > p)=0
 

Protected Attributes

uint8_t m_lcid
 LCID.
 
NrMacSapProviderm_macSapProvider
 MAC SAP provider.
 
NrMacSapUserm_macSapUser
 MAC SAP user.
 
uint16_t m_packetDelayBudgetMs
 the packet delay budget in ms of the corresponding logical channel
 
NrRlcSapProviderm_rlcSapProvider
 RLC SAP provider.
 
NrRlcSapUserm_rlcSapUser
 RLC SAP user.
 
uint16_t m_rnti
 RNTI.
 
TracedCallback< uint16_t, uint8_t, uint32_t, uint64_t > m_rxPdu
 
TracedCallback< Ptr< const Packet > > m_txDropTrace
 
TracedCallback< uint16_t, uint8_t, uint32_t > m_txPdu
 

Friends

class NrRlcSpecificNrMacSapUser
 allow NrRlcSpecificNrMacSapUser class friend access
 
class NrRlcSpecificNrRlcSapProvider< NrRlc >
 allow NrRlcSpecificNrRlcSapProvider<NrRlc> class friend access
 

Detailed Description

This abstract base class defines the API to interact with the Radio Link Control (NR_RLC) in LTE, see 3GPP TS 36.322

Config Paths

ns3::NrRlc is accessible through the following paths with Config::Set and Config::Connect:

No Attributes are defined for this type.

TraceSources

Size of this type is 168 bytes (on a 64-bit architecture).

Definition at line 35 of file nr-rlc.h.

Member Typedef Documentation

◆ NotifyTxTracedCallback

typedef void(* ns3::NrRlc::NotifyTxTracedCallback) (uint16_t rnti, uint8_t lcid, uint32_t bytes)

TracedCallback signature for NotifyTxOpportunity events.

Parameters
[in]rntiC-RNTI scheduled.
[in]lcidThe logical channel id corresponding to the sending RLC instance.
[in]bytesThe number of bytes to transmit

Definition at line 107 of file nr-rlc.h.

◆ ReceiveTracedCallback

typedef void(* ns3::NrRlc::ReceiveTracedCallback) (uint16_t rnti, uint8_t lcid, uint32_t bytes, uint64_t delay)

TracedCallback signature for

Parameters
[in]rntiC-RNTI scheduled.
[in]lcidThe logical channel id corresponding to the sending RLC instance.
[in]bytesThe packet size.
[in]delayDelay since sender timestamp, in ns.

Definition at line 118 of file nr-rlc.h.

Constructor & Destructor Documentation

◆ NrRlc()

ns3::NrRlc::NrRlc ( )

Definition at line 74 of file nr-rlc.cc.

◆ ~NrRlc()

ns3::NrRlc::~NrRlc ( )
override

Definition at line 85 of file nr-rlc.cc.

Member Function Documentation

◆ DoDispose()

void ns3::NrRlc::DoDispose ( )
override

Definition at line 113 of file nr-rlc.cc.

◆ DoNotifyHarqDeliveryFailure()

virtual void ns3::NrRlc::DoNotifyHarqDeliveryFailure ( )
protectedpure virtual

Notify HARQ delivery failure

Implemented in ns3::NrRlcAm, ns3::NrRlcTm, ns3::NrRlcUm, and ns3::NrRlcSm.

◆ DoNotifyTxOpportunity()

virtual void ns3::NrRlc::DoNotifyTxOpportunity ( NrMacSapUser::TxOpportunityParameters  params)
protectedpure virtual

Notify transmit opportunity

Parameters
paramsNrMacSapUser::TxOpportunityParameters

Implemented in ns3::NrRlcAm, ns3::NrRlcTm, ns3::NrRlcUm, and ns3::NrRlcSm.

◆ DoReceivePdu()

virtual void ns3::NrRlc::DoReceivePdu ( NrMacSapUser::ReceivePduParameters  params)
protectedpure virtual

Receive PDU function

Parameters
paramsthe NrMacSapUser::ReceivePduParameters

Implemented in ns3::NrRlcAm, ns3::NrRlcTm, ns3::NrRlcUm, and ns3::NrRlcSm.

◆ DoTransmitPdcpPdu()

virtual void ns3::NrRlc::DoTransmitPdcpPdu ( Ptr< Packet >  p)
protectedpure virtual
Todo:
MRE What is the sense to duplicate all the interfaces here???

Transmit PDCP PDU

Parameters
ppacket

Implemented in ns3::NrRlcAm, ns3::NrRlcTm, ns3::NrRlcUm, and ns3::NrRlcSm.

◆ GetNrMacSapUser()

NrMacSapUser * ns3::NrRlc::GetNrMacSapUser ( )
Returns
the MAC SAP User interface offered to the MAC by this NR_RLC

Definition at line 163 of file nr-rlc.cc.

◆ GetNrRlcSapProvider()

NrRlcSapProvider * ns3::NrRlc::GetNrRlcSapProvider ( )
Returns
the RLC SAP Provider interface offered to the PDCP by this NR_RLC

Definition at line 149 of file nr-rlc.cc.

◆ GetTypeId()

TypeId ns3::NrRlc::GetTypeId ( )
static

Get the type ID.

Returns
the object TypeId

Definition at line 91 of file nr-rlc.cc.

◆ SetLcId()

void ns3::NrRlc::SetLcId ( uint8_t  lcId)
Parameters
lcId

Definition at line 128 of file nr-rlc.cc.

◆ SetNrMacSapProvider()

void ns3::NrRlc::SetNrMacSapProvider ( NrMacSapProvider s)
Parameters
sthe MAC SAP Provider to be used by this NR_RLC

Definition at line 156 of file nr-rlc.cc.

Referenced by ns3::NrUeManager::ConfigureSrb0(), ns3::NrUeManager::ConfigureSrb1(), ns3::NrUeRrc::InitializeSrb0(), and ns3::NrUeManager::SetupDataRadioBearer().

+ Here is the caller graph for this function:

◆ SetNrRlcSapUser()

void ns3::NrRlc::SetNrRlcSapUser ( NrRlcSapUser s)
Parameters
sthe RLC SAP user to be used by this NR_RLC

Definition at line 142 of file nr-rlc.cc.

◆ SetPacketDelayBudgetMs()

void ns3::NrRlc::SetPacketDelayBudgetMs ( uint16_t  packetDelayBudget)
Parameters
packetDelayBudget

Definition at line 135 of file nr-rlc.cc.

◆ SetRnti()

void ns3::NrRlc::SetRnti ( uint16_t  rnti)
Parameters
rnti

Definition at line 121 of file nr-rlc.cc.

Friends And Related Symbol Documentation

◆ NrRlcSpecificNrMacSapUser

friend class NrRlcSpecificNrMacSapUser
friend

allow NrRlcSpecificNrMacSapUser class friend access

Definition at line 38 of file nr-rlc.h.

◆ NrRlcSpecificNrRlcSapProvider< NrRlc >

friend class NrRlcSpecificNrRlcSapProvider< NrRlc >
friend

allow NrRlcSpecificNrRlcSapProvider<NrRlc> class friend access

Definition at line 38 of file nr-rlc.h.

Member Data Documentation

◆ m_lcid

uint8_t ns3::NrRlc::m_lcid
protected

◆ m_macSapProvider

NrMacSapProvider* ns3::NrRlc::m_macSapProvider
protected

MAC SAP provider.

Definition at line 157 of file nr-rlc.h.

Referenced by ns3::NrRlcAm::DoNotifyTxOpportunity().

◆ m_macSapUser

NrMacSapUser* ns3::NrRlc::m_macSapUser
protected

MAC SAP user.

Definition at line 156 of file nr-rlc.h.

◆ m_packetDelayBudgetMs

uint16_t ns3::NrRlc::m_packetDelayBudgetMs
protected
Initial value:
{
UINT16_MAX}

the packet delay budget in ms of the corresponding logical channel

Definition at line 161 of file nr-rlc.h.

◆ m_rlcSapProvider

NrRlcSapProvider* ns3::NrRlc::m_rlcSapProvider
protected

RLC SAP provider.

Definition at line 136 of file nr-rlc.h.

◆ m_rlcSapUser

NrRlcSapUser* ns3::NrRlc::m_rlcSapUser
protected

RLC SAP user.

Definition at line 135 of file nr-rlc.h.

◆ m_rnti

uint16_t ns3::NrRlc::m_rnti
protected

◆ m_rxPdu

TracedCallback<uint16_t, uint8_t, uint32_t, uint64_t> ns3::NrRlc::m_rxPdu
protected

Used to inform of a PDU reception from the MAC SAP user

Definition at line 171 of file nr-rlc.h.

Referenced by ns3::NrRlcAm::DoReceivePdu().

◆ m_txDropTrace

TracedCallback<Ptr<const Packet> > ns3::NrRlc::m_txDropTrace
protected

The trace source fired when the RLC drops a packet before transmission.

Definition at line 176 of file nr-rlc.h.

Referenced by ns3::NrRlcAm::DoTransmitPdcpPdu().

◆ m_txPdu

TracedCallback<uint16_t, uint8_t, uint32_t> ns3::NrRlc::m_txPdu
protected

Used to inform of a PDU delivery to the MAC SAP provider

Definition at line 167 of file nr-rlc.h.

Referenced by ns3::NrRlcAm::DoNotifyTxOpportunity().


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