22 #include "ns3/simulator.h" 
   25 #include "ns3/lte-rlc-tm.h" 
   26 #include "ns3/lte-rlc-tag.h" 
   35   : m_maxTxBufferSize (0),
 
   53     .AddAttribute (
"MaxTxBufferSize",
 
   54                    "Maximum Size of the Transmission Buffer (in Bytes)",
 
   57                    MakeUintegerChecker<uint32_t> ())
 
  132   if (bytes < packet->GetSize ())
 
  134       NS_LOG_WARN (
"TX opportunity too small = " << bytes << 
" (PDU size: " << packet->
GetSize () << 
")");
 
  151   params.layer = layer;
 
  152   params.harqProcessId = harqId;
 
  196   uint32_t queueSize = 0;
 
  201       m_txBuffer.front ()->PeekPacketTag (holTimeTag);
 
TracedCallback< uint16_t, uint8_t, uint32_t > m_txPdu
Used to inform of a PDU delivery to the MAC SAP provider. 
 
bool FindFirstMatchingByteTag(Tag &tag) const 
Finds the first tag matching the parameter Tag type. 
 
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 "...
 
#define NS_OBJECT_ENSURE_REGISTERED(type)
Register an Object subclass with the TypeId system. 
 
virtual void DoNotifyHarqDeliveryFailure()
 
void ExpireRbsTimer(void)
 
void AddPacketTag(const Tag &tag) const 
Add a packet tag. 
 
Tag to calculate the per-PDU delay from eNb RLC to UE RLC. 
 
#define NS_LOG_COMPONENT_DEFINE(name)
Define a Log component with a specific name. 
 
Time MilliSeconds(uint64_t value)
Construct a Time in the indicated unit. 
 
void DoReportBufferStatus()
 
uint32_t GetSize(void) const 
Returns the the size in bytes of the packet (including the zero-filled initial payload). 
 
uint32_t retxQueueSize
the current size of the RLC retransmission queue in bytes 
 
uint16_t rnti
the C-RNTI identifying the UE 
 
Parameters for LteMacSapProvider::ReportBufferStatus. 
 
uint16_t txQueueHolDelay
the Head Of Line delay of the transmission queue 
 
LteRlcSapUser * m_rlcSapUser
 
static EventId Schedule(Time const &delay, MEM mem_ptr, OBJ obj)
Schedule an event to expire after delay. 
 
Hold an unsigned integer type. 
 
virtual void DoTransmitPdcpPdu(Ptr< Packet > p)
RLC SAP. 
 
virtual void ReceivePdcpPdu(Ptr< Packet > p)=0
Called by the RLC entity to notify the PDCP entity of the reception of a new PDCP PDU...
 
virtual void DoDispose()
Destructor implementation. 
 
LteMacSapProvider * m_macSapProvider
 
#define NS_LOG_LOGIC(msg)
Use NS_LOG to output a message of level LOG_LOGIC. 
 
LTE RLC Transparent Mode (TM), see 3GPP TS 36.322. 
 
Ptr< Packet > Copy(void) const 
performs a COW copy of the packet. 
 
std::vector< Ptr< Packet > > m_txBuffer
 
Every class exported by the ns3 library is enclosed in the ns3 namespace. 
 
static TypeId GetTypeId(void)
 
Time GetSenderTimestamp(void) const 
Get the instant when the RLC delivers the PDU to the MAC SAP provider. 
 
uint8_t lcid
the logical channel id corresponding to the sending RLC instance 
 
uint32_t txQueueSize
the current size of the RLC transmission queue 
 
static Time Now(void)
Return the current simulation virtual time. 
 
int64_t GetNanoSeconds(void) const 
Get an approximation of the time stored in this instance in the indicated unit. 
 
virtual void DoReceivePdu(Ptr< Packet > p)
 
uint16_t statusPduSize
the current size of the pending STATUS RLC PDU message in bytes 
 
#define NS_LOG_WARN(msg)
Use NS_LOG to output a message of level LOG_WARN. 
 
uint32_t m_maxTxBufferSize
 
uint16_t retxQueueHolDelay
the Head Of Line delay of the retransmission queue 
 
Ptr< Packet > pdu
the RLC PDU 
 
void Cancel(void)
This method is syntactic sugar for the ns3::Simulator::Cancel method. 
 
virtual void ReportBufferStatus(ReportBufferStatusParameters params)=0
Report the RLC buffer status to the MAC. 
 
virtual void DoDispose()
Destructor implementation. 
 
TracedCallback< uint16_t, uint8_t, uint32_t, uint64_t > m_rxPdu
Used to inform of a PDU reception from the MAC SAP user. 
 
virtual void TransmitPdu(TransmitPduParameters params)=0
send an RLC PDU to the MAC for transmission. 
 
Ptr< const AttributeAccessor > MakeUintegerAccessor(T1 a1)
Create an AttributeAccessor for a class data member, or a lone class get functor or set method...
 
This abstract base class defines the API to interact with the Radio Link Control (LTE_RLC) in LTE...
 
a unique identifier for an interface. 
 
int64_t GetMilliSeconds(void) const 
Get an approximation of the time stored in this instance in the indicated unit. 
 
TypeId SetParent(TypeId tid)
Set the parent TypeId. 
 
void AddByteTag(const Tag &tag) const 
Tag each byte included in this packet with a new byte tag. 
 
virtual void DoNotifyTxOpportunity(uint32_t bytes, uint8_t layer, uint8_t harqId)
MAC SAP. 
 
Parameters for LteMacSapProvider::TransmitPdu.