5G-LENA nr-v4.0
The 5G/NR module for the ns-3 simulator
Loading...
Searching...
No Matches
ns3::NrRlcAm Class Reference

#include "nr-rlc-am.h"

+ Inheritance diagram for ns3::NrRlcAm:
+ Collaboration diagram for ns3::NrRlcAm:

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
 
- Public Member Functions inherited from ns3::NrRlc
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.
 
- Static Public Member Functions inherited from ns3::NrRlc
static TypeId GetTypeId ()
 Get the type ID.
 

Additional Inherited Members

- Public Types inherited from ns3::NrRlc
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)
 
- Protected Attributes inherited from ns3::NrRlc
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
 

Detailed Description

LTE RLC Acknowledged Mode (AM), see 3GPP TS 36.322

Config Paths

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

Attributes

  • PollRetransmitTimer: Value of the t-PollRetransmit timer (See section 7.3 of 3GPP TS 36.322)
    • Set with class: ns3::TimeValue
    • Underlying type: Time -9.22337e+18ns:+9.22337e+18ns
    • Initial value: +2e+07ns
    • Flags: construct write read
  • ReorderingTimer: Value of the t-Reordering timer (See section 7.3 of 3GPP TS 36.322)
    • Set with class: ns3::TimeValue
    • Underlying type: Time -9.22337e+18ns:+9.22337e+18ns
    • Initial value: +1e+07ns
    • Flags: construct write read
  • StatusProhibitTimer: Value of the t-StatusProhibit timer (See section 7.3 of 3GPP TS 36.322)
    • Set with class: ns3::TimeValue
    • Underlying type: Time -9.22337e+18ns:+9.22337e+18ns
    • Initial value: +1e+07ns
    • Flags: construct write read
  • BufferStatusReportTimer: How much to wait to issue a new Buffer Status Report since the last time a new SDU was received
    • Set with class: ns3::TimeValue
    • Underlying type: Time -9.22337e+18ns:+9.22337e+18ns
    • Initial value: +2e+07ns
    • Flags: construct write read
  • TxOpportunityForRetxAlwaysBigEnough: If true, always pretend that the size of a TxOpportunity is big enough for retransmission. If false (default and realistic behavior), no retx is performed unless the corresponding TxOpportunity is big enough.
    • Set with class: ns3::BooleanValue
    • Underlying type: bool
    • Initial value: false
    • Flags: construct write read
  • MaxTxBufferSize: Maximum Size of the Transmission Buffer (in Bytes). If zero is configured, the buffer is unlimited.
    • Set with class: ns3::UintegerValue
    • Underlying type: uint32_t 0:4294967295
    • Initial value: 10240
    • Flags: construct write read

No TraceSources are defined for this type.

TraceSources defined in parent class ns3::NrRlc

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

Definition at line 24 of file nr-rlc-am.h.

Constructor & Destructor Documentation

◆ NrRlcAm()

ns3::NrRlcAm::NrRlcAm ( )

Definition at line 24 of file nr-rlc-am.cc.

◆ ~NrRlcAm()

ns3::NrRlcAm::~NrRlcAm ( )
override

Definition at line 68 of file nr-rlc-am.cc.

Member Function Documentation

◆ DoDispose()

void ns3::NrRlcAm::DoDispose ( )
override

Definition at line 120 of file nr-rlc-am.cc.

◆ DoNotifyHarqDeliveryFailure()

void ns3::NrRlcAm::DoNotifyHarqDeliveryFailure ( )
overridevirtual

Notify HARQ delivery failure

Implements ns3::NrRlc.

Definition at line 768 of file nr-rlc-am.cc.

◆ DoNotifyTxOpportunity()

void ns3::NrRlcAm::DoNotifyTxOpportunity ( NrMacSapUser::TxOpportunityParameters  txOpParams)
overridevirtual

MAC SAP

Parameters
txOpParamsthe 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().

+ Here is the call graph for this function:

◆ DoReceivePdu()

◆ DoTransmitPdcpPdu()

void ns3::NrRlcAm::DoTransmitPdcpPdu ( Ptr< Packet >  p)
overridevirtual

RLC SAP

Parameters
ppacket

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().

+ Here is the call graph for this function:

◆ GetTypeId()

TypeId ns3::NrRlcAm::GetTypeId ( )
static

Get the type ID.

Returns
the object TypeId

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

Referenced by ns3::NrUeManager::SetupDataRadioBearer().

+ Here is the caller graph for this function:

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