![]() |
5G-LENA nr-v3.3-159-ga6832aa7
The 5G/NR module for the ns-3 simulator
|
#include "nr-rlc.h"
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 |
NrMacSapUser * | GetNrMacSapUser () |
NrRlcSapProvider * | GetNrRlcSapProvider () |
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. | |
NrMacSapProvider * | m_macSapProvider |
MAC SAP provider. | |
NrMacSapUser * | m_macSapUser |
MAC SAP user. | |
uint16_t | m_packetDelayBudgetMs |
the packet delay budget in ms of the corresponding logical channel | |
NrRlcSapProvider * | m_rlcSapProvider |
RLC SAP provider. | |
NrRlcSapUser * | m_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 | |
This abstract base class defines the API to interact with the Radio Link Control (NR_RLC) in LTE, see 3GPP TS 36.322
ns3::NrRlc is accessible through the following paths with Config::Set and Config::Connect:
/NodeList/[i]/DeviceList/[i]/$ns3::NrGnbNetDevice/NrGnbRrc/UeMap/[i]/DataRadioBearerMap/[i]/NrRlc
/NodeList/[i]/DeviceList/[i]/$ns3::NrGnbNetDevice/NrGnbRrc/UeMap/[i]/Srb0/NrRlc
/NodeList/[i]/DeviceList/[i]/$ns3::NrGnbNetDevice/NrGnbRrc/UeMap/[i]/Srb1/NrRlc
/NodeList/[i]/DeviceList/[i]/$ns3::NrNetDevice/$ns3::NrGnbNetDevice/NrGnbRrc/UeMap/[i]/DataRadioBearerMap/[i]/NrRlc
/NodeList/[i]/DeviceList/[i]/$ns3::NrNetDevice/$ns3::NrGnbNetDevice/NrGnbRrc/UeMap/[i]/Srb0/NrRlc
/NodeList/[i]/DeviceList/[i]/$ns3::NrNetDevice/$ns3::NrGnbNetDevice/NrGnbRrc/UeMap/[i]/Srb1/NrRlc
/NodeList/[i]/DeviceList/[i]/$ns3::NrNetDevice/$ns3::NrUeNetDevice/nrUeRrc/DataRadioBearerMap/[i]/NrRlc
/NodeList/[i]/DeviceList/[i]/$ns3::NrNetDevice/$ns3::NrUeNetDevice/nrUeRrc/Srb0/NrRlc
/NodeList/[i]/DeviceList/[i]/$ns3::NrNetDevice/$ns3::NrUeNetDevice/nrUeRrc/Srb1/NrRlc
/NodeList/[i]/DeviceList/[i]/$ns3::NrNetDevice/$ns3::NrUeNetDevice/NrUeRrc/DataRadioBearerMap/[i]/NrRlc
/NodeList/[i]/DeviceList/[i]/$ns3::NrNetDevice/$ns3::NrUeNetDevice/NrUeRrc/Srb0/NrRlc
/NodeList/[i]/DeviceList/[i]/$ns3::NrNetDevice/$ns3::NrUeNetDevice/NrUeRrc/Srb1/NrRlc
/NodeList/[i]/DeviceList/[i]/$ns3::NrUeNetDevice/nrUeRrc/DataRadioBearerMap/[i]/NrRlc
/NodeList/[i]/DeviceList/[i]/$ns3::NrUeNetDevice/nrUeRrc/Srb0/NrRlc
/NodeList/[i]/DeviceList/[i]/$ns3::NrUeNetDevice/nrUeRrc/Srb1/NrRlc
/NodeList/[i]/DeviceList/[i]/$ns3::NrUeNetDevice/NrUeRrc/DataRadioBearerMap/[i]/NrRlc
/NodeList/[i]/DeviceList/[i]/$ns3::NrUeNetDevice/NrUeRrc/Srb0/NrRlc
/NodeList/[i]/DeviceList/[i]/$ns3::NrUeNetDevice/NrUeRrc/Srb1/NrRlc
No Attributes are defined for this type.
Size of this type is 168 bytes (on a 64-bit architecture).
typedef void(* ns3::NrRlc::NotifyTxTracedCallback) (uint16_t rnti, uint8_t lcid, uint32_t bytes) |
typedef void(* ns3::NrRlc::ReceiveTracedCallback) (uint16_t rnti, uint8_t lcid, uint32_t bytes, uint64_t delay) |
|
protectedpure virtual |
Notify HARQ delivery failure
Implemented in ns3::NrRlcAm, ns3::NrRlcTm, ns3::NrRlcUm, and ns3::NrRlcSm.
|
protectedpure virtual |
Notify transmit opportunity
params | NrMacSapUser::TxOpportunityParameters |
Implemented in ns3::NrRlcAm, ns3::NrRlcTm, ns3::NrRlcUm, and ns3::NrRlcSm.
|
protectedpure virtual |
Receive PDU function
params | the NrMacSapUser::ReceivePduParameters |
Implemented in ns3::NrRlcAm, ns3::NrRlcTm, ns3::NrRlcUm, and ns3::NrRlcSm.
|
protectedpure virtual |
Transmit PDCP PDU
p | packet |
Implemented in ns3::NrRlcAm, ns3::NrRlcTm, ns3::NrRlcUm, and ns3::NrRlcSm.
NrMacSapUser * ns3::NrRlc::GetNrMacSapUser | ( | ) |
NrRlcSapProvider * ns3::NrRlc::GetNrRlcSapProvider | ( | ) |
|
static |
void ns3::NrRlc::SetNrMacSapProvider | ( | NrMacSapProvider * | s | ) |
s | the 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().
void ns3::NrRlc::SetNrRlcSapUser | ( | NrRlcSapUser * | s | ) |
void ns3::NrRlc::SetPacketDelayBudgetMs | ( | uint16_t | packetDelayBudget | ) |
|
friend |
|
friend |
|
protected |
LCID.
Definition at line 160 of file nr-rlc.h.
Referenced by ns3::NrRlcAm::DoNotifyTxOpportunity(), ns3::NrRlcAm::DoReceivePdu(), and ns3::NrRlcAm::DoTransmitPdcpPdu().
|
protected |
MAC SAP provider.
Definition at line 157 of file nr-rlc.h.
Referenced by ns3::NrRlcAm::DoNotifyTxOpportunity().
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
RNTI.
Definition at line 159 of file nr-rlc.h.
Referenced by ns3::NrRlcAm::DoNotifyTxOpportunity(), ns3::NrRlcAm::DoReceivePdu(), and ns3::NrRlcAm::DoTransmitPdcpPdu().
|
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().
|
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().
|
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().