#include <lte-pdcp.h>
Classes | |
struct | Status |
Public Member Functions | |
LtePdcp () | |
virtual | ~LtePdcp () |
virtual void | DoDispose () |
LtePdcpSapProvider * | GetLtePdcpSapProvider () |
LteRlcSapUser * | GetLteRlcSapUser () |
Status | GetStatus () |
void | SetLcId (uint8_t lcId) |
void | SetLtePdcpSapUser (LtePdcpSapUser *s) |
void | SetLteRlcSapProvider (LteRlcSapProvider *s) |
void | SetRnti (uint16_t rnti) |
void | SetStatus (Status s) |
![]() | |
Object () | |
virtual | ~Object () |
void | AggregateObject (Ptr< Object > other) |
void | Dispose (void) |
AggregateIterator | GetAggregateIterator (void) const |
virtual TypeId | GetInstanceTypeId (void) const |
template<typename T > | |
Ptr< T > | GetObject (void) const |
template<typename T > | |
Ptr< T > | GetObject (TypeId tid) const |
void | Initialize (void) |
![]() | |
SimpleRefCount () | |
SimpleRefCount (const SimpleRefCount &o) | |
uint32_t | GetReferenceCount (void) const |
SimpleRefCount & | operator= (const SimpleRefCount &o) |
void | Ref (void) const |
void | Unref (void) const |
![]() | |
virtual | ~ObjectBase () |
void | GetAttribute (std::string name, AttributeValue &value) const |
bool | GetAttributeFailSafe (std::string name, AttributeValue &attribute) const |
void | SetAttribute (std::string name, const AttributeValue &value) |
bool | SetAttributeFailSafe (std::string name, const AttributeValue &value) |
bool | TraceConnect (std::string name, std::string context, const CallbackBase &cb) |
bool | TraceConnectWithoutContext (std::string name, const CallbackBase &cb) |
bool | TraceDisconnect (std::string name, std::string context, const CallbackBase &cb) |
bool | TraceDisconnectWithoutContext (std::string name, const CallbackBase &cb) |
Static Public Member Functions | |
static TypeId | GetTypeId (void) |
Static Public Attributes | |
static const uint16_t | MAX_PDCP_SN = 4096 |
Protected Member Functions | |
virtual void | DoReceivePdu (Ptr< Packet > p) |
virtual void | DoTransmitPdcpSdu (Ptr< Packet > p) |
![]() | |
Object (const Object &o) | |
virtual void | DoInitialize (void) |
virtual void | NotifyNewAggregate (void) |
Protected Attributes | |
uint8_t | m_lcid |
LtePdcpSapProvider * | m_pdcpSapProvider |
LtePdcpSapUser * | m_pdcpSapUser |
LteRlcSapProvider * | m_rlcSapProvider |
LteRlcSapUser * | m_rlcSapUser |
uint16_t | m_rnti |
TracedCallback< uint16_t, uint8_t, uint32_t, uint64_t > | m_rxPdu |
TracedCallback< uint16_t, uint8_t, uint32_t > | m_txPdu |
Private Attributes | |
uint16_t | m_rxSequenceNumber |
uint16_t | m_txSequenceNumber |
Static Private Attributes | |
static const uint16_t | m_maxPdcpSn = 4095 |
Friends | |
class | LtePdcpSpecificLtePdcpSapProvider< LtePdcp > |
class | LtePdcpSpecificLteRlcSapUser |
LTE PDCP entity, see 3GPP TS 36.323
ns3::LtePdcp is accessible through the following paths with Config::Set and Config::Connect:
No Attributes are defined for this type.
Definition at line 37 of file lte-pdcp.h.
ns3::LtePdcp::LtePdcp | ( | ) |
Definition at line 66 of file lte-pdcp.cc.
References LtePdcpSpecificLteRlcSapUser, m_pdcpSapProvider, m_rlcSapUser, and NS_LOG_FUNCTION.
|
virtual |
Definition at line 79 of file lte-pdcp.cc.
References NS_LOG_FUNCTION.
|
virtual |
This method is called by Object::Dispose or by the object's destructor, whichever comes first.
Subclasses are expected to implement their real destruction code in an overriden version of this method and chain up to their parent's implementation once they are done. i.e., for simplicity, the destructor of every subclass should be empty and its content should be moved to the associated DoDispose method.
It is safe to call GetObject from within this method.
Reimplemented from ns3::Object.
Definition at line 100 of file lte-pdcp.cc.
References m_pdcpSapProvider, m_rlcSapUser, and NS_LOG_FUNCTION.
Definition at line 201 of file lte-pdcp.cc.
References ns3::Packet::FindFirstMatchingByteTag(), ns3::Time::GetNanoSeconds(), ns3::Packet::GetSize(), ns3::LtePdcpSapUser::ReceivePdcpSduParameters::lcid, m_lcid, m_maxPdcpSn, m_pdcpSapUser, m_rnti, m_rxPdu, m_rxSequenceNumber, ns3::Now(), NS_LOG_FUNCTION, NS_LOG_LOGIC, ns3::LtePdcpSapUser::ReceivePdcpSduParameters::pdcpSdu, ns3::LtePdcpSapUser::ReceivePdcpSdu(), ns3::Packet::RemoveHeader(), and ns3::LtePdcpSapUser::ReceivePdcpSduParameters::rnti.
Referenced by ns3::LtePdcpSpecificLteRlcSapUser::ReceivePdcpPdu().
Definition at line 169 of file lte-pdcp.cc.
References ns3::Packet::AddByteTag(), ns3::Packet::AddHeader(), ns3::LtePdcpHeader::DATA_PDU, ns3::Packet::GetSize(), m_lcid, m_maxPdcpSn, m_rlcSapProvider, m_rnti, m_txPdu, m_txSequenceNumber, ns3::Simulator::Now(), NS_LOG_FUNCTION, NS_LOG_LOGIC, ns3::LteRlcSapProvider::TransmitPdcpPduParameters::rnti, ns3::LtePdcpHeader::SetSequenceNumber(), and ns3::LteRlcSapProvider::TransmitPdcpPdu().
LtePdcpSapProvider * ns3::LtePdcp::GetLtePdcpSapProvider | ( | ) |
s | the PDCP SAP Provider interface offered to the RRC by this LTE_PDCP |
Definition at line 130 of file lte-pdcp.cc.
References m_pdcpSapProvider, and NS_LOG_FUNCTION.
Referenced by ns3::LteUeRrc::ApplyRadioResourceConfigDedicated(), ns3::UeManager::DoInitialize(), and ns3::UeManager::SendData().
LteRlcSapUser * ns3::LtePdcp::GetLteRlcSapUser | ( | ) |
s | the RLC SAP User interface offered to the RLC by this LTE_PDCP |
Definition at line 144 of file lte-pdcp.cc.
References m_rlcSapUser, and NS_LOG_FUNCTION.
Referenced by ns3::LteUeRrc::ApplyRadioResourceConfigDedicated(), ns3::UeManager::DoInitialize(), and ns3::UeManager::SetupDataRadioBearer().
LtePdcp::Status ns3::LtePdcp::GetStatus | ( | void | ) |
Definition at line 151 of file lte-pdcp.cc.
References m_rxSequenceNumber, m_txSequenceNumber, ns3::LtePdcp::Status::rxSn, and ns3::LtePdcp::Status::txSn.
|
static |
Reimplemented from ns3::Object.
Definition at line 85 of file lte-pdcp.cc.
References m_rxPdu, m_txPdu, ns3::MakeTraceSourceAccessor(), and ns3::TypeId::SetParent().
void ns3::LtePdcp::SetLcId | ( | uint8_t | lcId | ) |
lcId |
Definition at line 116 of file lte-pdcp.cc.
References m_lcid, and NS_LOG_FUNCTION.
Referenced by ns3::LteUeRrc::ApplyRadioResourceConfigDedicated(), ns3::UeManager::DoInitialize(), and ns3::UeManager::SetupDataRadioBearer().
void ns3::LtePdcp::SetLtePdcpSapUser | ( | LtePdcpSapUser * | s | ) |
s | the PDCP SAP user to be used by this LTE_PDCP |
Definition at line 123 of file lte-pdcp.cc.
References m_pdcpSapUser, and NS_LOG_FUNCTION.
Referenced by ns3::LteUeRrc::ApplyRadioResourceConfigDedicated(), ns3::UeManager::CompleteSetupUe(), ns3::LteUeRrc::DoCompleteSetup(), ns3::UeManager::DoInitialize(), and ns3::UeManager::SetupDataRadioBearer().
void ns3::LtePdcp::SetLteRlcSapProvider | ( | LteRlcSapProvider * | s | ) |
s | the RLC SAP Provider to be used by this LTE_PDCP |
Definition at line 137 of file lte-pdcp.cc.
References m_rlcSapProvider, and NS_LOG_FUNCTION.
Referenced by ns3::LteUeRrc::ApplyRadioResourceConfigDedicated(), ns3::UeManager::DoInitialize(), and ns3::UeManager::SetupDataRadioBearer().
void ns3::LtePdcp::SetRnti | ( | uint16_t | rnti | ) |
rnti |
Definition at line 109 of file lte-pdcp.cc.
References m_rnti, and NS_LOG_FUNCTION.
Referenced by ns3::LteUeRrc::ApplyRadioResourceConfigDedicated(), ns3::UeManager::DoInitialize(), and ns3::UeManager::SetupDataRadioBearer().
void ns3::LtePdcp::SetStatus | ( | Status | s | ) |
Set the status of the PDCP
s |
Definition at line 160 of file lte-pdcp.cc.
References m_rxSequenceNumber, m_txSequenceNumber, ns3::LtePdcp::Status::rxSn, and ns3::LtePdcp::Status::txSn.
|
friend |
Definition at line 40 of file lte-pdcp.h.
|
friend |
Definition at line 39 of file lte-pdcp.h.
Referenced by LtePdcp().
|
protected |
Definition at line 128 of file lte-pdcp.h.
Referenced by DoReceivePdu(), DoTransmitPdcpSdu(), and SetLcId().
|
staticprivate |
Constants. See section 7.2 in TS 36.323
Definition at line 151 of file lte-pdcp.h.
Referenced by DoReceivePdu(), and DoTransmitPdcpSdu().
|
protected |
Definition at line 119 of file lte-pdcp.h.
Referenced by DoDispose(), GetLtePdcpSapProvider(), and LtePdcp().
|
protected |
Definition at line 118 of file lte-pdcp.h.
Referenced by DoReceivePdu(), and SetLtePdcpSapUser().
|
protected |
Definition at line 125 of file lte-pdcp.h.
Referenced by DoTransmitPdcpSdu(), and SetLteRlcSapProvider().
|
protected |
Definition at line 124 of file lte-pdcp.h.
Referenced by DoDispose(), GetLteRlcSapUser(), and LtePdcp().
|
protected |
Definition at line 127 of file lte-pdcp.h.
Referenced by DoReceivePdu(), DoTransmitPdcpSdu(), and SetRnti().
|
protected |
Used to inform of a PDU reception from the RLC SAP user. The parameters are RNTI, LCID, bytes delivered and delivery delay in nanoseconds.
Definition at line 139 of file lte-pdcp.h.
Referenced by DoReceivePdu(), and GetTypeId().
|
private |
Definition at line 146 of file lte-pdcp.h.
Referenced by DoReceivePdu(), GetStatus(), and SetStatus().
|
protected |
Used to inform of a PDU delivery to the RLC SAP provider. The parameters are RNTI, LCID and bytes delivered
Definition at line 134 of file lte-pdcp.h.
Referenced by DoTransmitPdcpSdu(), and GetTypeId().
|
private |
State variables. See section 7.1 in TS 36.323
Definition at line 145 of file lte-pdcp.h.
Referenced by DoTransmitPdcpSdu(), GetStatus(), and SetStatus().
|
static |
Definition at line 89 of file lte-pdcp.h.