|
A Discrete-Event Network Simulator
|
API
|
Go to the documentation of this file.
23 #include "ns3/simulator.h"
25 #include "ns3/lte-rlc.h"
26 #include "ns3/lte-rlc-tag.h"
28 #include "ns3/lte-rlc-sap.h"
106 .SetGroupName (
"Lte")
107 .AddTraceSource (
"TxPDU",
108 "PDU transmission notified to the MAC.",
110 "ns3::LteRlc::NotifyTxTracedCallback")
111 .AddTraceSource (
"RxPDU",
114 "ns3::LteRlc::ReceiveTracedCallback")
115 .AddTraceSource (
"TxDrop",
116 "Trace source indicating a packet "
117 "has been dropped before transmission",
119 "ns3::Packet::TracedCallback")
195 .SetGroupName (
"Lte")
232 <<
" LCID=" << (uint32_t)
m_lcid
233 <<
" size=" << rxPduParams.
p->
GetSize ()
245 params.
pdu = Create<Packet> (txOpParams.
bytes);
261 <<
" LCID=" << (uint32_t)
m_lcid
262 <<
" size=" << txOpParams.
bytes);
Parameters for LteMacSapProvider::TransmitPdu.
uint8_t harqProcessId
the HARQ process id that was passed by the MAC in the call to NotifyTxOpportunity that generated this...
a unique identifier for an interface.
#define NS_LOG_COMPONENT_DEFINE(name)
Define a Log component with a specific name.
virtual void DoNotifyHarqDeliveryFailure()=0
Notify HARQ delivery failure.
uint32_t retxQueueSize
the current size of the RLC retransmission queue in bytes
virtual void ReceivePdu(LteMacSapUser::ReceivePduParameters params)
Called by the MAC to notify the RLC of the reception of a new PDU.
uint16_t rnti
the C-RNTI identifying the UE
#define NS_OBJECT_ENSURE_REGISTERED(type)
Register an Object subclass with the TypeId system.
Service Access Point (SAP) offered by the MAC to the RLC See Femto Forum MAC Scheduler Interface Spec...
Ptr< Packet > p
the RLC PDU to be received
TracedCallback< uint16_t, uint8_t, uint32_t > m_txPdu
Used to inform of a PDU delivery to the MAC SAP provider.
uint32_t GetSize(void) const
Returns the the size in bytes of the packet (including the zero-filled initial payload).
virtual void TransmitPdu(TransmitPduParameters params)=0
send an RLC PDU to the MAC for transmission.
static Time Now(void)
Return the current simulation virtual time.
Every class exported by the ns3 library is enclosed in the ns3 namespace.
Parameters for LteMacSapUser::NotifyTxOpportunity.
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.
virtual void DoNotifyTxOpportunity(LteMacSapUser::TxOpportunityParameters params)=0
Notify transmit opportunity.
TracedCallback< Ptr< const Packet > > m_txDropTrace
The trace source fired when the RLC drops a packet before transmission.
static TypeId GetTypeId(void)
Get the type ID.
TimeWithUnit As(const enum Unit unit=Time::AUTO) const
Attach a unit to a Time, to facilitate output in a specific unit.
Ptr< Packet > pdu
the RLC PDU
TypeId SetParent(TypeId tid)
Set the parent TypeId.
LteMacSapUser * m_macSapUser
MAC SAP user.
void SetRnti(uint16_t rnti)
Ptr< const TraceSourceAccessor > MakeTraceSourceAccessor(T a)
Create a TraceSourceAccessor which will control access to the underlying trace source.
friend class LteRlcSpecificLteMacSapUser
allow LteRlcSpecificLteMacSapUser class friend access
uint8_t componentCarrierId
the component carrier id corresponding to the sending Mac istance
LteMacSapUser * GetLteMacSapUser()
virtual void DoDispose()
Destructor implementation.
virtual void DoNotifyHarqDeliveryFailure()
Notify HARQ delivery failure.
virtual void DoReceivePdu(LteMacSapUser::ReceivePduParameters rxPduParams)
Receive PDU function.
This abstract base class defines the API to interact with the Radio Link Control (LTE_RLC) in LTE,...
Parameters for LteMacSapProvider::ReportBufferStatus.
A base class which provides memory management and object aggregation.
uint16_t txQueueHolDelay
the Head Of Line delay of the transmission queue
virtual void DoTransmitPdcpPdu(Ptr< Packet > p)
Transmit PDCP PDU.
void ReportBufferStatus()
Report buffer status.
void SetLteMacSapProvider(LteMacSapProvider *s)
uint32_t txQueueSize
the current size of the RLC transmission queue
friend class LteRlcSpecificLteRlcSapProvider< LteRlc >
allow LteRlcSpecificLteRlcSapProvider<LteRlc> class friend access
Parameters for LteMacSapUser::ReceivePdu.
Time GetSenderTimestamp(void) const
Get the instant when the RLC delivers the PDU to the MAC SAP provider.
uint16_t retxQueueHolDelay
the Head Of Line delay of the retransmission queue
Simulation virtual time values and global simulation resolution.
int64_t GetNanoSeconds(void) const
Get an approximation of the time stored in this instance in the indicated unit.
virtual void DoInitialize()
Initialize() implementation.
#define NS_ASSERT_MSG(condition, message)
At runtime, in debugging builds, if this condition is not true, the program prints the message to out...
LteMacSapProvider * m_macSapProvider
MAC SAP provider.
LteRlcSpecificLteMacSapUser class.
uint8_t harqId
the HARQ ID
uint8_t layer
the layer value that was passed by the MAC in the call to NotifyTxOpportunity that generated this PDU
#define NS_LOG_LOGIC(msg)
Use NS_LOG to output a message of level LOG_LOGIC.
#define NS_ABORT_MSG_UNLESS(cond, msg)
Abnormal program termination if a condition is false, with a message.
void SetLteRlcSapUser(LteRlcSapUser *s)
Service Access Point (SAP) offered by the MAC to the RLC See Femto Forum MAC Scheduler Interface Spec...
virtual void NotifyHarqDeliveryFailure()
Called by the MAC to notify the RLC that an HARQ process related to this RLC instance has failed.
virtual void ReportBufferStatus(ReportBufferStatusParameters params)=0
Report the RLC buffer status to the MAC.
void SetLcId(uint8_t lcId)
uint8_t componentCarrierId
the component carrier id
virtual void NotifyTxOpportunity(LteMacSapUser::TxOpportunityParameters params)
Called by the MAC to notify the RLC that the scheduler granted a transmission opportunity to this RLC...
LteRlcSapProvider * GetLteRlcSapProvider()
#define NS_LOG_FUNCTION(parameters)
If log level LOG_FUNCTION is enabled, this macro will output all input parameters separated by ",...
virtual void DoNotifyTxOpportunity(LteMacSapUser::TxOpportunityParameters txOpParams)
Notify transmit opportunity.
uint32_t bytes
the number of bytes to transmit
uint16_t rnti
the C-RNTI identifying the UE
LTE_RLC Saturation Mode (SM): simulation-specific mode used for experiments that do not need to consi...
uint8_t lcid
the logical channel id corresponding to the sending RLC instance
LteRlcSapUser * m_rlcSapUser
RLC SAP user.
uint8_t layer
the layer of transmission (MIMO)
bool FindFirstMatchingByteTag(Tag &tag) const
Finds the first tag matching the parameter Tag type.
uint8_t lcid
the logical channel id corresponding to the sending RLC instance
LteRlcSapProvider * m_rlcSapProvider
RLC SAP provider.
virtual void DoReceivePdu(LteMacSapUser::ReceivePduParameters params)=0
Receive PDU function.
TracedCallback< uint16_t, uint8_t, uint32_t, uint64_t > m_rxPdu
Used to inform of a PDU reception from the MAC SAP user.
LteRlcSpecificLteMacSapUser()
void AddByteTag(const Tag &tag) const
Tag each byte included in this packet with a new byte tag.
uint16_t statusPduSize
the current size of the pending STATUS RLC PDU message in bytes
virtual void DoDispose()
Destructor implementation.
Service Access Point (SAP) offered by the UM-RLC and AM-RLC entities to the PDCP entity See 3GPP 36....
Tag to calculate the per-PDU delay from eNb RLC to UE RLC.