![]() |
5G-LENA nr-v4.0
The 5G/NR module for the ns-3 simulator
|
#include "nr-rlc.h"
Public Member Functions | |
void | DoDispose () override |
void | DoInitialize () override |
void | DoNotifyHarqDeliveryFailure () override |
void | DoNotifyTxOpportunity (NrMacSapUser::TxOpportunityParameters txOpParams) override |
void | DoReceivePdu (NrMacSapUser::ReceivePduParameters rxPduParams) override |
void | DoTransmitPdcpPdu (Ptr< Packet > p) override |
![]() | |
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. | |
![]() | |
static TypeId | GetTypeId () |
Get the type ID. | |
Additional Inherited Members | |
![]() | |
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) |
![]() | |
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 |
NR_RLC Saturation Mode (SM): simulation-specific mode used for experiments that do not need to consider the layers above the NR_RLC. The NR_RLC SM, unlike the standard NR_RLC modes, it does not provide data delivery services to upper layers; rather, it just generates a new NR_RLC PDU whenever the MAC notifies a transmission opportunity.
ns3::NrRlcSm is accessible through the following paths with Config::Set and Config::Connect:
/NodeList/[i]/DeviceList/[i]/$ns3::NrGnbNetDevice/NrGnbRrc/UeMap/[i]/DataRadioBearerMap/[i]/NrRlc/$ns3::NrRlcSm
/NodeList/[i]/DeviceList/[i]/$ns3::NrGnbNetDevice/NrGnbRrc/UeMap/[i]/Srb0/NrRlc/$ns3::NrRlcSm
/NodeList/[i]/DeviceList/[i]/$ns3::NrGnbNetDevice/NrGnbRrc/UeMap/[i]/Srb1/NrRlc/$ns3::NrRlcSm
/NodeList/[i]/DeviceList/[i]/$ns3::NrNetDevice/$ns3::NrGnbNetDevice/NrGnbRrc/UeMap/[i]/DataRadioBearerMap/[i]/NrRlc/$ns3::NrRlcSm
/NodeList/[i]/DeviceList/[i]/$ns3::NrNetDevice/$ns3::NrGnbNetDevice/NrGnbRrc/UeMap/[i]/Srb0/NrRlc/$ns3::NrRlcSm
/NodeList/[i]/DeviceList/[i]/$ns3::NrNetDevice/$ns3::NrGnbNetDevice/NrGnbRrc/UeMap/[i]/Srb1/NrRlc/$ns3::NrRlcSm
/NodeList/[i]/DeviceList/[i]/$ns3::NrNetDevice/$ns3::NrUeNetDevice/nrUeRrc/DataRadioBearerMap/[i]/NrRlc/$ns3::NrRlcSm
/NodeList/[i]/DeviceList/[i]/$ns3::NrNetDevice/$ns3::NrUeNetDevice/nrUeRrc/Srb0/NrRlc/$ns3::NrRlcSm
/NodeList/[i]/DeviceList/[i]/$ns3::NrNetDevice/$ns3::NrUeNetDevice/nrUeRrc/Srb1/NrRlc/$ns3::NrRlcSm
/NodeList/[i]/DeviceList/[i]/$ns3::NrNetDevice/$ns3::NrUeNetDevice/NrUeRrc/DataRadioBearerMap/[i]/NrRlc/$ns3::NrRlcSm
/NodeList/[i]/DeviceList/[i]/$ns3::NrNetDevice/$ns3::NrUeNetDevice/NrUeRrc/Srb0/NrRlc/$ns3::NrRlcSm
/NodeList/[i]/DeviceList/[i]/$ns3::NrNetDevice/$ns3::NrUeNetDevice/NrUeRrc/Srb1/NrRlc/$ns3::NrRlcSm
/NodeList/[i]/DeviceList/[i]/$ns3::NrUeNetDevice/nrUeRrc/DataRadioBearerMap/[i]/NrRlc/$ns3::NrRlcSm
/NodeList/[i]/DeviceList/[i]/$ns3::NrUeNetDevice/nrUeRrc/Srb0/NrRlc/$ns3::NrRlcSm
/NodeList/[i]/DeviceList/[i]/$ns3::NrUeNetDevice/nrUeRrc/Srb1/NrRlc/$ns3::NrRlcSm
/NodeList/[i]/DeviceList/[i]/$ns3::NrUeNetDevice/NrUeRrc/DataRadioBearerMap/[i]/NrRlc/$ns3::NrRlcSm
/NodeList/[i]/DeviceList/[i]/$ns3::NrUeNetDevice/NrUeRrc/Srb0/NrRlc/$ns3::NrRlcSm
/NodeList/[i]/DeviceList/[i]/$ns3::NrUeNetDevice/NrUeRrc/Srb1/NrRlc/$ns3::NrRlcSm
No Attributes are defined for this type.
No TraceSources are defined for this type.
Size of this type is 168 bytes (on a 64-bit architecture).
|
overridevirtual |
|
overridevirtual |
Notify transmit opportunity
params | NrMacSapUser::TxOpportunityParameters |
For RLC SM, the packets are not passed to the upper layers, therefore, in the absence of an header we can safely byte tag the entire packet.
Implements ns3::NrRlc.
Definition at line 227 of file nr-rlc.cc.
References ns3::NrMacSapUser::TxOpportunityParameters::bytes, ns3::NrMacSapProvider::TransmitPduParameters::componentCarrierId, ns3::NrMacSapUser::TxOpportunityParameters::componentCarrierId, ns3::NrMacSapUser::TxOpportunityParameters::harqId, ns3::NrMacSapProvider::TransmitPduParameters::harqProcessId, ns3::NrMacSapProvider::TransmitPduParameters::layer, ns3::NrMacSapUser::TxOpportunityParameters::layer, ns3::NrMacSapProvider::TransmitPduParameters::lcid, ns3::NrMacSapProvider::TransmitPduParameters::pdu, and ns3::NrMacSapProvider::TransmitPduParameters::rnti.
|
overridevirtual |
Receive PDU function
params | the NrMacSapUser::ReceivePduParameters |
Implements ns3::NrRlc.
Definition at line 212 of file nr-rlc.cc.
References ns3::NrRlcTag::GetSenderTimestamp(), and ns3::NrMacSapUser::ReceivePduParameters::p.
|
overridevirtual |
Transmit PDCP PDU
p | packet |
Implements ns3::NrRlc.
|
static |
Get the type ID.
Definition at line 184 of file nr-rlc.cc.
Referenced by ns3::NrUeManager::SetupDataRadioBearer().