|
A Discrete-Event Network Simulator
|
API
|
Go to the documentation of this file.
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")
a unique identifier for an interface.
#define NS_LOG_COMPONENT_DEFINE(name)
Define a Log component with a specific name.
uint16_t rxSn
RX sequence number.
#define NS_OBJECT_ENSURE_REGISTERED(type)
Register an Object subclass with the TypeId system.
void SetLteRlcSapProvider(LteRlcSapProvider *s)
uint32_t GetSize(void) const
Returns the the size in bytes of the packet (including the zero-filled initial payload).
void AddHeader(const Header &header)
Add header to this packet.
static Time Now(void)
Return the current simulation virtual time.
Every class exported by the ns3 library is enclosed in the ns3 namespace.
Time GetSenderTimestamp(void) const
Get the instant when the PDCP delivers the PDU to the MAC SAP provider.
void SetRnti(uint16_t rnti)
Service Access Point (SAP) offered by the UM-RLC and AM-RLC entities to the PDCP entity See 3GPP 36....
Ptr< Packet > pdcpSdu
the RRC PDU
LteRlcSapProvider * m_rlcSapProvider
RLC SAP provider.
LtePdcpSapProvider * GetLtePdcpSapProvider()
void SetLcId(uint8_t lcId)
Parameters for LtePdcpSapUser::ReceivePdcpSdu.
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
TypeId SetParent(TypeId tid)
Set the parent TypeId.
Ptr< const TraceSourceAccessor > MakeTraceSourceAccessor(T a)
Create a TraceSourceAccessor which will control access to the underlying trace source.
uint16_t rnti
the C-RNTI identifying the UE
Tag to calculate the per-PDU delay from eNb PDCP to UE PDCP.
LteRlcSapUser * m_rlcSapUser
RLC SAP user.
virtual void DoReceivePdu(Ptr< Packet > p)
Interface provided to lower RLC entity.
friend class LtePdcpSpecificLteRlcSapUser
allow LtePdcpSpecificLteRlcSapUser class friend access
A base class which provides memory management and object aggregation.
friend class LtePdcpSpecificLtePdcpSapProvider< LtePdcp >
allow LtePdcpSpecificLtePdcpSapProvider<LtePdcp> class friend access
LtePdcpSapUser * m_pdcpSapUser
PDCP SAP user.
uint32_t RemoveHeader(Header &header)
Deserialize and remove the header from the internal buffer.
virtual void DoDispose()
Destructor implementation.
static TypeId GetTypeId(void)
Get the type ID.
Simulation virtual time values and global simulation resolution.
uint16_t txSn
TX sequence number.
int64_t GetNanoSeconds(void) const
Get an approximation of the time stored in this instance in the indicated unit.
LTE PDCP entity, see 3GPP TS 36.323.
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 ...
uint8_t lcid
the logical channel id corresponding to the sending RLC instance
uint16_t m_txSequenceNumber
State variables.
Service Access Point (SAP) offered by the PDCP entity to the RRC entity See 3GPP 36....
#define NS_LOG_LOGIC(msg)
Use NS_LOG to output a message of level LOG_LOGIC.
static const uint16_t m_maxPdcpSn
Constants.
uint16_t m_rxSequenceNumber
State variables.
Status variables of the PDCP.
Parameters for LteRlcSapProvider::TransmitPdcpPdu.
Ptr< Packet > pdcpPdu
the PDCP PDU
Parameters for LtePdcpSapProvider::TransmitPdcpSdu.
LtePdcpSpecificLteRlcSapUser()
#define NS_LOG_FUNCTION(parameters)
If log level LOG_FUNCTION is enabled, this macro will output all input parameters separated by ",...
uint16_t rnti
the C-RNTI identifying the UE
LteRlcSapUser * GetLteRlcSapUser()
void SetLtePdcpSapUser(LtePdcpSapUser *s)
LtePdcpSapProvider * m_pdcpSapProvider
PDCP SAP provider.
LtePdcpSpecificLteRlcSapUser class.
Ptr< Packet > pdcpSdu
the RRC PDU
bool FindFirstMatchingByteTag(Tag &tag) const
Finds the first tag matching the parameter Tag type.
void SetStatus(Status s)
Set the status of the PDCP.
void AddByteTag(const Tag &tag) const
Tag each byte included in this packet with a new byte tag.
Service Access Point (SAP) offered by the PDCP entity to the RRC entity See 3GPP 36....
virtual void ReceivePdcpSdu(ReceivePdcpSduParameters params)=0
Called by the PDCP entity to notify the RRC entity of the reception of a new RRC PDU.
TracedCallback< uint16_t, uint8_t, uint32_t, uint64_t > m_rxPdu
Used to inform of a PDU reception from the RLC SAP user.
TracedCallback< uint16_t, uint8_t, uint32_t > m_txPdu
Used to inform of a PDU delivery to the RLC SAP provider.
virtual void DoTransmitPdcpSdu(LtePdcpSapProvider::TransmitPdcpSduParameters params)
Interface provided to upper RRC entity.
Service Access Point (SAP) offered by the UM-RLC and AM-RLC entities to the PDCP entity See 3GPP 36....