ns-3
ns3::LtePdcp Class Reference

#include <lte-pdcp.h>

Inheritance diagram for ns3::LtePdcp:
Collaboration diagram for ns3::LtePdcp:

List of all members.

Public Member Functions

void Start ()
void SetRnti (uint16_t rnti)
void SetLcId (uint8_t lcId)
void SetLtePdcpSapUser (LtePdcpSapUser *s)
LtePdcpSapProviderGetLtePdcpSapProvider ()
void SetLteRlcSapProvider (LteRlcSapProvider *s)
LteRlcSapUserGetLteRlcSapUser ()
- Public Member Functions inherited from ns3::Object
virtual TypeId GetInstanceTypeId (void) const
template<typename T >
Ptr< T > GetObject (void) const
template<typename T >
Ptr< T > GetObject (TypeId tid) const
void Dispose (void)
void AggregateObject (Ptr< Object > other)
AggregateIterator GetAggregateIterator (void) const
- Public Member Functions inherited from ns3::SimpleRefCount< Object, ObjectBase, ObjectDeleter >
 SimpleRefCount (const SimpleRefCount &o)
SimpleRefCountoperator= (const SimpleRefCount &o)
void Ref (void) const
void Unref (void) const
uint32_t GetReferenceCount (void) const
- Public Member Functions inherited from ns3::ObjectBase
void SetAttribute (std::string name, const AttributeValue &value)
bool SetAttributeFailSafe (std::string name, const AttributeValue &value)
void GetAttribute (std::string name, AttributeValue &value) const
bool GetAttributeFailSafe (std::string name, AttributeValue &attribute) const
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)
 This method returns the TypeId associated to ns3::LtePdcp.

Protected Member Functions

virtual void DoTransmitRrcPdu (Ptr< Packet > p)
virtual void DoReceivePdu (Ptr< Packet > p)
- Protected Member Functions inherited from ns3::Object
virtual void NotifyNewAggregate (void)
virtual void DoStart (void)
virtual void DoDispose (void)
 Object (const Object &o)

Protected Attributes

LtePdcpSapUserm_pdcpSapUser
LtePdcpSapProviderm_pdcpSapProvider
LteRlcSapUserm_rlcSapUser
LteRlcSapProviderm_rlcSapProvider
uint16_t m_rnti
uint8_t m_lcid
TracedCallback< uint16_t,
uint8_t, uint32_t > 
m_txPdu
TracedCallback< uint16_t,
uint8_t, uint32_t, uint64_t > 
m_rxPdu

Friends

class LtePdcpSpecificLteRlcSapUser
class LtePdcpSpecificLtePdcpSapProvider< LtePdcp >

Detailed Description

LTE PDCP entity, see 3GPP TS 36.323


Member Function Documentation

LtePdcpSapProvider * ns3::LtePdcp::GetLtePdcpSapProvider ( )
Parameters:
sthe PDCP SAP Provider interface offered to the RRC by this LTE_PDCP

References NS_LOG_FUNCTION.

LteRlcSapUser * ns3::LtePdcp::GetLteRlcSapUser ( )
Parameters:
sthe RLC SAP User interface offered to the RLC by this LTE_PDCP

References NS_LOG_FUNCTION.

Referenced by ns3::LteUeRrc::SetupRadioBearer(), and ns3::LteEnbRrc::SetupRadioBearer().

TypeId ns3::LtePdcp::GetTypeId ( void  )
static

This method returns the TypeId associated to ns3::LtePdcp.

This object is accessible through the following paths with Config::Set and Config::Connect:

  • /NodeList/[i]/DeviceList/[i]/$ns3::LteEnbNetDevice/LteEnbRrc/UeMap/[i]/RadioBearerMap/[i]/LtePdcp
  • /NodeList/[i]/DeviceList/[i]/$ns3::LteNetDevice/$ns3::LteEnbNetDevice/LteEnbRrc/UeMap/[i]/RadioBearerMap/[i]/LtePdcp
  • /NodeList/[i]/DeviceList/[i]/$ns3::LteNetDevice/$ns3::LteUeNetDevice/LteUeRrc/RadioBearerMap/[i]/LtePdcp
  • /NodeList/[i]/DeviceList/[i]/$ns3::LteUeNetDevice/LteUeRrc/RadioBearerMap/[i]/LtePdcp

No Attributes defined for this type.
TraceSources defined for this type:

  • TxPDU: PDU transmission notified to the RLC.
  • RxPDU: PDU received.

Reimplemented from ns3::Object.

References m_rxPdu, m_txPdu, ns3::MakeTraceSourceAccessor(), and ns3::TypeId::SetParent().

void ns3::LtePdcp::SetLcId ( uint8_t  lcId)
void ns3::LtePdcp::SetLtePdcpSapUser ( LtePdcpSapUser s)
Parameters:
sthe PDCP SAP user to be used by this LTE_PDCP

References NS_LOG_FUNCTION.

Referenced by ns3::LteUeRrc::SetupRadioBearer(), and ns3::LteEnbRrc::SetupRadioBearer().

void ns3::LtePdcp::SetLteRlcSapProvider ( LteRlcSapProvider s)
Parameters:
sthe RLC SAP Provider to be used by this LTE_PDCP

References NS_LOG_FUNCTION.

Referenced by ns3::LteUeRrc::SetupRadioBearer(), and ns3::LteEnbRrc::SetupRadioBearer().

void ns3::LtePdcp::SetRnti ( uint16_t  rnti)
void ns3::LtePdcp::Start ( void  )

This method calls the virtual DoStart method on all the objects aggregated to this object. DoStart will be called only once over the lifetime of an object, just like DoDispose is called only once.

See also:
DoStart

Note: the code here is a bit tricky because we need to protect ourselves from modifications in the aggregate array while DoStart is called. The user's implementation of the DoStart method could call GetObject (which could reorder the array) and it could call AggregateObject which would add an object at the end of the array. To be safe, we restart iteration over the array whenever we call some user code, just in case.

Reimplemented from ns3::Object.

References NS_LOG_FUNCTION.


Member Data Documentation

TracedCallback<uint16_t, uint8_t, uint32_t, uint64_t> ns3::LtePdcp::m_rxPdu
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.

Referenced by GetTypeId().

TracedCallback<uint16_t, uint8_t, uint32_t> ns3::LtePdcp::m_txPdu
protected

Used to inform of a PDU delivery to the RLC SAP provider. The parameters are RNTI, LCID and bytes delivered

Referenced by GetTypeId().


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