22 #include "ns3/simulator.h" 24 #include "ns3/lte-pdcp.h" 25 #include "ns3/lte-pdcp-header.h" 26 #include "ns3/lte-pdcp-sap.h" 27 #include "ns3/lte-pdcp-tag.h" 76 m_txSequenceNumber (0),
77 m_rxSequenceNumber (0)
95 .AddTraceSource (
"TxPDU",
96 "PDU transmission notified to the RLC.",
98 "ns3::LtePdcp::PduTxTracedCallback")
99 .AddTraceSource (
"RxPDU",
102 "ns3::LtePdcp::PduRxTracedCallback")
uint32_t RemoveHeader(Header &header)
Deserialize and remove the header from the internal buffer.
Service Access Point (SAP) offered by the UM-RLC and AM-RLC entities to the PDCP entity See 3GPP 36...
LteRlcSapProvider * m_rlcSapProvider
RLC SAP provider.
Simulation virtual time values and global simulation resolution.
#define NS_LOG_FUNCTION(parameters)
If log level LOG_FUNCTION is enabled, this macro will output all input parameters separated by "...
virtual void DoReceivePdu(Ptr< Packet > p)
Interface provided to lower RLC entity.
LteRlcSapUser * GetLteRlcSapUser()
void SetLtePdcpSapUser(LtePdcpSapUser *s)
Service Access Point (SAP) offered by the UM-RLC and AM-RLC entities to the PDCP entity See 3GPP 36...
static TypeId GetTypeId(void)
Get the type ID.
#define NS_OBJECT_ENSURE_REGISTERED(type)
Register an Object subclass with the TypeId system.
uint32_t GetSize(void) const
Returns the the size in bytes of the packet (including the zero-filled initial payload).
NS_ASSERT_MSG(false, "Ipv4AddressGenerator::MaskToIndex(): Impossible")
uint16_t txSn
TX sequence number.
Status variables of the PDCP.
LtePdcpSapProvider * m_pdcpSapProvider
PDCP SAP provider.
#define NS_LOG_COMPONENT_DEFINE(name)
Define a Log component with a specific name.
uint16_t m_txSequenceNumber
State variables.
uint16_t m_rxSequenceNumber
State variables.
virtual void TransmitPdcpPdu(TransmitPdcpPduParameters params)=0
Send a PDCP PDU to the RLC for transmission This method is to be called when upper PDCP entity has a ...
Ptr< const TraceSourceAccessor > MakeTraceSourceAccessor(T a)
Create a TraceSourceAccessor which will control access to the underlying trace source.
Ptr< Packet > pdcpSdu
the RRC PDU
void SetStatus(Status s)
Set the status of the PDCP.
Parameters for LtePdcpSapUser::ReceivePdcpSdu.
uint16_t rnti
the C-RNTI identifying the UE
LtePdcpSpecificLteRlcSapUser()
TracedCallback< uint16_t, uint8_t, uint32_t > m_txPdu
Used to inform of a PDU delivery to the RLC SAP provider.
LtePdcpSapProvider * GetLtePdcpSapProvider()
Tag to calculate the per-PDU delay from eNb PDCP to UE PDCP.
void SetLteRlcSapProvider(LteRlcSapProvider *s)
uint16_t rxSn
RX sequence number.
virtual void DoTransmitPdcpSdu(Ptr< Packet > p)
Interface provided to upper RRC entity.
void SetLcId(uint8_t lcId)
Every class exported by the ns3 library is enclosed in the ns3 namespace.
int64_t GetNanoSeconds(void) const
Get an approximation of the time stored in this instance in the indicated unit.
void SetRnti(uint16_t rnti)
virtual void DoDispose()
Destructor implementation.
LteRlcSapUser * m_rlcSapUser
RLC SAP user.
friend class LtePdcpSpecificLteRlcSapUser
allow LtePdcpSpecificLteRlcSapUser class friend access
LTE PDCP entity, see 3GPP TS 36.323.
static Time Now(void)
Return the current simulation virtual time.
virtual void ReceivePdcpSdu(ReceivePdcpSduParameters params)=0
Called by the PDCP entity to notify the RRC entity of the reception of a new RRC PDU.
NS_LOG_LOGIC("Net device "<< nd<< " is not bridged")
Parameters for LteRlcSapProvider::TransmitPdcpPdu.
Service Access Point (SAP) offered by the PDCP entity to the RRC entity See 3GPP 36.323 Packet Data Convergence Protocol (PDCP) specification.
void AddPacketTag(const Tag &tag) const
Add a packet tag.
Service Access Point (SAP) offered by the PDCP entity to the RRC entity See 3GPP 36.323 Packet Data Convergence Protocol (PDCP) specification.
bool RemovePacketTag(Tag &tag)
Remove a packet tag.
virtual void ReceivePdcpPdu(Ptr< Packet > p)
Called by the RLC entity to notify the PDCP entity of the reception of a new PDCP PDU...
uint8_t lcid
the logical channel id corresponding to the sending RLC instance
LtePdcpSpecificLteRlcSapUser class.
TracedCallback< uint16_t, uint8_t, uint32_t, uint64_t > m_rxPdu
Used to inform of a PDU reception from the RLC SAP user.
uint16_t rnti
the C-RNTI identifying the UE
LtePdcpSapUser * m_pdcpSapUser
PDCP SAP user.
static const uint16_t m_maxPdcpSn
Constants.
A base class which provides memory management and object aggregation.
bool PeekPacketTag(Tag &tag) const
Search a matching tag and call Tag::Deserialize if it is found.
a unique identifier for an interface.
LtePdcpSpecificLtePdcpSapProvider class.
TypeId SetParent(TypeId tid)
Set the parent TypeId.
void AddHeader(const Header &header)
Add header to this packet.