![]() |
5G-LENA nr-v4.0
The 5G/NR module for the ns-3 simulator
|
#include "nr-rlc-am.h"
Public Member Functions | |
void | DoDispose () 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 |
LTE RLC Acknowledged Mode (AM), see 3GPP TS 36.322
ns3::NrRlcAm 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::NrRlcAm
/NodeList/[i]/DeviceList/[i]/$ns3::NrGnbNetDevice/NrGnbRrc/UeMap/[i]/Srb0/NrRlc/$ns3::NrRlcAm
/NodeList/[i]/DeviceList/[i]/$ns3::NrGnbNetDevice/NrGnbRrc/UeMap/[i]/Srb1/NrRlc/$ns3::NrRlcAm
/NodeList/[i]/DeviceList/[i]/$ns3::NrNetDevice/$ns3::NrGnbNetDevice/NrGnbRrc/UeMap/[i]/DataRadioBearerMap/[i]/NrRlc/$ns3::NrRlcAm
/NodeList/[i]/DeviceList/[i]/$ns3::NrNetDevice/$ns3::NrGnbNetDevice/NrGnbRrc/UeMap/[i]/Srb0/NrRlc/$ns3::NrRlcAm
/NodeList/[i]/DeviceList/[i]/$ns3::NrNetDevice/$ns3::NrGnbNetDevice/NrGnbRrc/UeMap/[i]/Srb1/NrRlc/$ns3::NrRlcAm
/NodeList/[i]/DeviceList/[i]/$ns3::NrNetDevice/$ns3::NrUeNetDevice/nrUeRrc/DataRadioBearerMap/[i]/NrRlc/$ns3::NrRlcAm
/NodeList/[i]/DeviceList/[i]/$ns3::NrNetDevice/$ns3::NrUeNetDevice/nrUeRrc/Srb0/NrRlc/$ns3::NrRlcAm
/NodeList/[i]/DeviceList/[i]/$ns3::NrNetDevice/$ns3::NrUeNetDevice/nrUeRrc/Srb1/NrRlc/$ns3::NrRlcAm
/NodeList/[i]/DeviceList/[i]/$ns3::NrNetDevice/$ns3::NrUeNetDevice/NrUeRrc/DataRadioBearerMap/[i]/NrRlc/$ns3::NrRlcAm
/NodeList/[i]/DeviceList/[i]/$ns3::NrNetDevice/$ns3::NrUeNetDevice/NrUeRrc/Srb0/NrRlc/$ns3::NrRlcAm
/NodeList/[i]/DeviceList/[i]/$ns3::NrNetDevice/$ns3::NrUeNetDevice/NrUeRrc/Srb1/NrRlc/$ns3::NrRlcAm
/NodeList/[i]/DeviceList/[i]/$ns3::NrUeNetDevice/nrUeRrc/DataRadioBearerMap/[i]/NrRlc/$ns3::NrRlcAm
/NodeList/[i]/DeviceList/[i]/$ns3::NrUeNetDevice/nrUeRrc/Srb0/NrRlc/$ns3::NrRlcAm
/NodeList/[i]/DeviceList/[i]/$ns3::NrUeNetDevice/nrUeRrc/Srb1/NrRlc/$ns3::NrRlcAm
/NodeList/[i]/DeviceList/[i]/$ns3::NrUeNetDevice/NrUeRrc/DataRadioBearerMap/[i]/NrRlc/$ns3::NrRlcAm
/NodeList/[i]/DeviceList/[i]/$ns3::NrUeNetDevice/NrUeRrc/Srb0/NrRlc/$ns3::NrRlcAm
/NodeList/[i]/DeviceList/[i]/$ns3::NrUeNetDevice/NrUeRrc/Srb1/NrRlc/$ns3::NrRlcAm
No TraceSources are defined for this type.
Size of this type is 552 bytes (on a 64-bit architecture).
Definition at line 24 of file nr-rlc-am.h.
ns3::NrRlcAm::NrRlcAm | ( | ) |
Definition at line 24 of file nr-rlc-am.cc.
|
override |
Definition at line 68 of file nr-rlc-am.cc.
|
override |
Definition at line 120 of file nr-rlc-am.cc.
|
overridevirtual |
|
overridevirtual |
MAC SAP
txOpParams | the NrMacSapUser::TxOpportunityParameters |
MAC SAP
Implements ns3::NrRlc.
Definition at line 186 of file nr-rlc-am.cc.
References ns3::NrMacSapUser::TxOpportunityParameters::bytes, ns3::NrMacSapProvider::TransmitPduParameters::componentCarrierId, ns3::NrMacSapUser::TxOpportunityParameters::componentCarrierId, ns3::NrRlcAmHeader::GetSequenceNumber(), ns3::NrRlcSduStatusTag::GetStatus(), ns3::nr::SequenceNumber10::GetValue(), ns3::NrMacSapUser::TxOpportunityParameters::harqId, ns3::NrMacSapProvider::TransmitPduParameters::harqProcessId, ns3::NrMacSapProvider::TransmitPduParameters::layer, ns3::NrMacSapUser::TxOpportunityParameters::layer, ns3::NrMacSapProvider::TransmitPduParameters::lcid, ns3::NrRlc::m_lcid, ns3::NrRlc::m_macSapProvider, ns3::NrRlc::m_rnti, ns3::NrRlc::m_txPdu, ns3::NrRlcAmHeader::OneMoreNackWouldFitIn(), ns3::NrMacSapProvider::TransmitPduParameters::pdu, ns3::NrRlcAmHeader::PushExtensionBit(), ns3::NrRlcAmHeader::PushLengthIndicator(), ns3::NrRlcAmHeader::PushNack(), ns3::NrMacSapProvider::TransmitPduParameters::rnti, ns3::NrRlcAmHeader::SetAckSn(), ns3::NrRlcAmHeader::SetControlPdu(), ns3::NrRlcAmHeader::SetDataPdu(), ns3::NrRlcAmHeader::SetFramingInfo(), ns3::NrRlcAmHeader::SetLastSegmentFlag(), ns3::nr::SequenceNumber10::SetModulusBase(), ns3::NrRlcAmHeader::SetPollingBit(), ns3::NrRlcAmHeader::SetResegmentationFlag(), ns3::NrRlcAmHeader::SetSegmentOffset(), ns3::NrRlcTag::SetSenderTimestamp(), ns3::NrRlcAmHeader::SetSequenceNumber(), ns3::NrRlcSduStatusTag::SetStatus(), ns3::NrRlcAmHeader::STATUS_PDU, and ns3::NrMacSapProvider::TransmitPdu().
|
overridevirtual |
Receive PDU function
params | the NrMacSapUser::ReceivePduParameters |
Implements ns3::NrRlc.
Definition at line 774 of file nr-rlc-am.cc.
References ns3::NrRlcAmHeader::GetAckSn(), ns3::NrRlcAmHeader::GetPollingBit(), ns3::NrRlcAmHeader::GetResegmentationFlag(), ns3::NrRlcTag::GetSenderTimestamp(), ns3::NrRlcAmHeader::GetSequenceNumber(), ns3::nr::SequenceNumber10::GetValue(), ns3::NrRlcAmHeader::IsControlPdu(), ns3::NrRlcAmHeader::IsDataPdu(), ns3::NrRlcAmHeader::IsNackPresent(), ns3::NrRlc::m_lcid, ns3::NrRlc::m_rnti, ns3::NrRlc::m_rxPdu, ns3::NrMacSapUser::ReceivePduParameters::p, and ns3::nr::SequenceNumber10::SetModulusBase().
|
overridevirtual |
RLC SAP
p | packet |
RLC SAP
Store PDCP PDU
Transmit Buffer Status Report
Implements ns3::NrRlc.
Definition at line 148 of file nr-rlc-am.cc.
References ns3::NrRlc::m_lcid, ns3::NrRlc::m_rnti, ns3::NrRlc::m_txDropTrace, and ns3::NrRlcSduStatusTag::SetStatus().
|
static |
Get the type ID.
Definition at line 74 of file nr-rlc-am.cc.
Referenced by ns3::NrUeManager::SetupDataRadioBearer().