![]() |
5G-LENA nr-v3.3-159-ga6832aa7
The 5G/NR module for the ns-3 simulator
|
#include "nr-pdcp.h"
Classes | |
struct | Status |
Public Types | |
typedef void(* | PduRxTracedCallback) (const uint16_t rnti, const uint8_t lcid, const uint32_t size, const uint64_t delay) |
typedef void(* | PduTxTracedCallback) (uint16_t rnti, uint8_t lcid, uint32_t size) |
Public Member Functions | |
void | DoDispose () override |
NrPdcpSapProvider * | GetNrPdcpSapProvider () |
NrRlcSapUser * | GetNrRlcSapUser () |
Status | GetStatus () const |
void | SetLcId (uint8_t lcId) |
void | SetNrPdcpSapUser (NrPdcpSapUser *s) |
void | SetNrRlcSapProvider (NrRlcSapProvider *s) |
void | SetRnti (uint16_t rnti) |
void | SetStatus (Status s) |
Static Public Member Functions | |
static TypeId | GetTypeId () |
Get the type ID. | |
Static Public Attributes | |
static const uint16_t | MAX_PDCP_SN = 4096 |
maximum PDCP SN | |
Protected Member Functions | |
virtual void | DoReceivePdu (Ptr< Packet > p) |
virtual void | DoTransmitPdcpSdu (NrPdcpSapProvider::TransmitPdcpSduParameters params) |
Protected Attributes | |
uint8_t | m_lcid |
LCID. | |
NrPdcpSapProvider * | m_pdcpSapProvider |
PDCP SAP provider. | |
NrPdcpSapUser * | m_pdcpSapUser |
PDCP SAP user. | |
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< uint16_t, uint8_t, uint32_t > | m_txPdu |
Friends | |
class | NrPdcpSpecificNrPdcpSapProvider< NrPdcp > |
allow NrPdcpSpecificNrPdcpSapProvider<NrPdcp> class friend access | |
class | NrPdcpSpecificNrRlcSapUser |
allow NrPdcpSpecificNrRlcSapUser class friend access | |
LTE PDCP entity, see 3GPP TS 36.323
ns3::NrPdcp is accessible through the following paths with Config::Set and Config::Connect:
/NodeList/[i]/DeviceList/[i]/$ns3::NrGnbNetDevice/NrGnbRrc/UeMap/[i]/DataRadioBearerMap/[i]/NrPdcp
/NodeList/[i]/DeviceList/[i]/$ns3::NrGnbNetDevice/NrGnbRrc/UeMap/[i]/Srb0/NrPdcp
/NodeList/[i]/DeviceList/[i]/$ns3::NrGnbNetDevice/NrGnbRrc/UeMap/[i]/Srb1/NrPdcp
/NodeList/[i]/DeviceList/[i]/$ns3::NrNetDevice/$ns3::NrGnbNetDevice/NrGnbRrc/UeMap/[i]/DataRadioBearerMap/[i]/NrPdcp
/NodeList/[i]/DeviceList/[i]/$ns3::NrNetDevice/$ns3::NrGnbNetDevice/NrGnbRrc/UeMap/[i]/Srb0/NrPdcp
/NodeList/[i]/DeviceList/[i]/$ns3::NrNetDevice/$ns3::NrGnbNetDevice/NrGnbRrc/UeMap/[i]/Srb1/NrPdcp
/NodeList/[i]/DeviceList/[i]/$ns3::NrNetDevice/$ns3::NrUeNetDevice/nrUeRrc/DataRadioBearerMap/[i]/NrPdcp
/NodeList/[i]/DeviceList/[i]/$ns3::NrNetDevice/$ns3::NrUeNetDevice/nrUeRrc/Srb0/NrPdcp
/NodeList/[i]/DeviceList/[i]/$ns3::NrNetDevice/$ns3::NrUeNetDevice/nrUeRrc/Srb1/NrPdcp
/NodeList/[i]/DeviceList/[i]/$ns3::NrNetDevice/$ns3::NrUeNetDevice/NrUeRrc/DataRadioBearerMap/[i]/NrPdcp
/NodeList/[i]/DeviceList/[i]/$ns3::NrNetDevice/$ns3::NrUeNetDevice/NrUeRrc/Srb0/NrPdcp
/NodeList/[i]/DeviceList/[i]/$ns3::NrNetDevice/$ns3::NrUeNetDevice/NrUeRrc/Srb1/NrPdcp
/NodeList/[i]/DeviceList/[i]/$ns3::NrUeNetDevice/nrUeRrc/DataRadioBearerMap/[i]/NrPdcp
/NodeList/[i]/DeviceList/[i]/$ns3::NrUeNetDevice/nrUeRrc/Srb0/NrPdcp
/NodeList/[i]/DeviceList/[i]/$ns3::NrUeNetDevice/nrUeRrc/Srb1/NrPdcp
/NodeList/[i]/DeviceList/[i]/$ns3::NrUeNetDevice/NrUeRrc/DataRadioBearerMap/[i]/NrPdcp
/NodeList/[i]/DeviceList/[i]/$ns3::NrUeNetDevice/NrUeRrc/Srb0/NrPdcp
/NodeList/[i]/DeviceList/[i]/$ns3::NrUeNetDevice/NrUeRrc/Srb1/NrPdcp
No Attributes are defined for this type.
Size of this type is 152 bytes (on a 64-bit architecture).
typedef void(* ns3::NrPdcp::PduRxTracedCallback) (const uint16_t rnti, const uint8_t lcid, const uint32_t size, const uint64_t delay) |
typedef void(* ns3::NrPdcp::PduTxTracedCallback) (uint16_t rnti, uint8_t lcid, uint32_t size) |
ns3::NrPdcp::NrPdcp | ( | ) |
Definition at line 59 of file nr-pdcp.cc.
|
override |
Definition at line 72 of file nr-pdcp.cc.
|
override |
Definition at line 95 of file nr-pdcp.cc.
|
protectedvirtual |
Interface provided to lower RLC entity
p | packet |
Definition at line 196 of file nr-pdcp.cc.
References ns3::NrPdcpTag::GetSenderTimestamp(), ns3::NrPdcpHeader::GetSequenceNumber(), ns3::NrPdcpSapUser::ReceivePdcpSduParameters::lcid, ns3::NrPdcpSapUser::ReceivePdcpSduParameters::pdcpSdu, and ns3::NrPdcpSapUser::ReceivePdcpSduParameters::rnti.
|
protectedvirtual |
Interface provided to upper RRC entity
params | the TransmitPdcpSduParameters |
Definition at line 163 of file nr-pdcp.cc.
References ns3::NrRlcSapProvider::TransmitPdcpPduParameters::lcid, ns3::NrRlcSapProvider::TransmitPdcpPduParameters::pdcpPdu, ns3::NrPdcpSapProvider::TransmitPdcpSduParameters::pdcpSdu, ns3::NrRlcSapProvider::TransmitPdcpPduParameters::rnti, ns3::NrPdcpHeader::SetDcBit(), and ns3::NrPdcpHeader::SetSequenceNumber().
NrPdcpSapProvider * ns3::NrPdcp::GetNrPdcpSapProvider | ( | ) |
Definition at line 124 of file nr-pdcp.cc.
NrRlcSapUser * ns3::NrPdcp::GetNrRlcSapUser | ( | ) |
Definition at line 138 of file nr-pdcp.cc.
NrPdcp::Status ns3::NrPdcp::GetStatus | ( | ) | const |
Definition at line 145 of file nr-pdcp.cc.
References ns3::NrPdcp::Status::rxSn, and ns3::NrPdcp::Status::txSn.
|
static |
void ns3::NrPdcp::SetLcId | ( | uint8_t | lcId | ) |
lcId |
Definition at line 110 of file nr-pdcp.cc.
void ns3::NrPdcp::SetNrPdcpSapUser | ( | NrPdcpSapUser * | s | ) |
s | the PDCP SAP user to be used by this NR_PDCP |
Definition at line 117 of file nr-pdcp.cc.
void ns3::NrPdcp::SetNrRlcSapProvider | ( | NrRlcSapProvider * | s | ) |
s | the RLC SAP Provider to be used by this NR_PDCP |
Definition at line 131 of file nr-pdcp.cc.
void ns3::NrPdcp::SetRnti | ( | uint16_t | rnti | ) |
rnti |
Definition at line 103 of file nr-pdcp.cc.
void ns3::NrPdcp::SetStatus | ( | Status | s | ) |
Set the status of the PDCP
s |
Definition at line 154 of file nr-pdcp.cc.
References ns3::NrPdcp::Status::rxSn, and ns3::NrPdcp::Status::txSn.
|
friend |
|
friend |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
static |