ns3::LteMacQueue Class Reference

#include <lte-mac-queue.h>

Inheritance diagram for ns3::LteMacQueue:
Inheritance graph
[legend]
Collaboration diagram for ns3::LteMacQueue:
Collaboration graph
[legend]

List of all members.

Classes

struct  QueueElement

Public Member Functions

 LteMacQueue (uint32_t maxSize)
void SetMaxSize (uint32_t maxSize)
 set the maximum queue size
uint32_t GetMaxSize (void) const
bool Enqueue (Ptr< Packet > packet)
 Enqueue a packet.
Ptr< PacketDequeue (void)
 Dequeue a packet from the queue.
Ptr< PacketDequeue (uint32_t availableByte)
 Dequeue a fragment of size availableByte from the queue.
Ptr< PacketPeek (void) const
 Same as Dequeue but does not pop from queue.
bool IsEmpty (void) const
 Check if there are packets into the queue.
uint32_t GetSize (void) const
 Get the size of the queue.
uint32_t GetNBytes (void) const
 Get the number of bytes into the queue.
uint32_t GetQueueLengthWithMACOverhead (void)
 Get the length of the queue with MAC + RLC + CRC overhead.
const LteMacQueue::PacketQueue & GetPacketQueue (void) const
 Get the packet queue.

Static Public Member Functions

static TypeId GetTypeId (void)
 This method returns the TypeId associated to ns3::LteMacQueue.

Detailed Description

The MAC queue for each bearer


Constructor & Destructor Documentation

ns3::LteMacQueue::LteMacQueue ( uint32_t  maxSize  ) 

Create the Mac queue defining its maximum size

Parameters:
maxSize the maximum size of the queue

Member Function Documentation

Ptr<Packet> ns3::LteMacQueue::Dequeue ( uint32_t  availableByte  ) 

Dequeue a fragment of size availableByte from the queue.

Parameters:
availableByte the size of the fragment
Returns:
the first packet in the queue if its size is lower than availableByte, the first availableByte of the first packet otherwise
Ptr<Packet> ns3::LteMacQueue::Dequeue ( void   ) 

Dequeue a packet from the queue.

Returns:
the first packet in the queue
bool ns3::LteMacQueue::Enqueue ( Ptr< Packet packet  ) 

Enqueue a packet.

Parameters:
packet the packet to enqueue
uint32_t ns3::LteMacQueue::GetMaxSize ( void   )  const
Returns:
the maximum queue size
uint32_t ns3::LteMacQueue::GetNBytes ( void   )  const

Get the number of bytes into the queue.

Returns:
the number of bytes into the queue
const LteMacQueue::PacketQueue& ns3::LteMacQueue::GetPacketQueue ( void   )  const

Get the packet queue.

Returns:
the apcket queue
uint32_t ns3::LteMacQueue::GetQueueLengthWithMACOverhead ( void   ) 

Get the length of the queue with MAC + RLC + CRC overhead.

Returns:
the length of the queue with MAC + RLC + CRC overhead
uint32_t ns3::LteMacQueue::GetSize ( void   )  const

Get the size of the queue.

Returns:
the size of the queue
static TypeId ns3::LteMacQueue::GetTypeId ( void   )  [static]

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

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

  • /NodeList/[i]/DeviceList/[i]/$ns3::AlohaNoackNetDevice/Phy/$ns3::LteMacQueue
  • /NodeList/[i]/DeviceList/[i]/$ns3::AlohaNoackNetDevice/Phy/$ns3::RadioBearerInstance/TxQueue
  • /NodeList/[i]/DeviceList/[i]/$ns3::BaseStationNetDevice/BsIpcsPacketClassifier/$ns3::LteMacQueue
  • /NodeList/[i]/DeviceList/[i]/$ns3::BaseStationNetDevice/BsIpcsPacketClassifier/$ns3::RadioBearerInstance/TxQueue
  • /NodeList/[i]/DeviceList/[i]/$ns3::BaseStationNetDevice/LinkManager/$ns3::LteMacQueue
  • /NodeList/[i]/DeviceList/[i]/$ns3::BaseStationNetDevice/LinkManager/$ns3::RadioBearerInstance/TxQueue
  • /NodeList/[i]/DeviceList/[i]/$ns3::BaseStationNetDevice/SSManager/$ns3::LteMacQueue
  • /NodeList/[i]/DeviceList/[i]/$ns3::BaseStationNetDevice/SSManager/$ns3::RadioBearerInstance/TxQueue
  • /NodeList/[i]/DeviceList/[i]/$ns3::BaseStationNetDevice/ServiceFlowManager/$ns3::LteMacQueue
  • /NodeList/[i]/DeviceList/[i]/$ns3::BaseStationNetDevice/ServiceFlowManager/$ns3::RadioBearerInstance/TxQueue
  • /NodeList/[i]/DeviceList/[i]/$ns3::NonCommunicatingNetDevice/Phy/$ns3::LteMacQueue
  • /NodeList/[i]/DeviceList/[i]/$ns3::NonCommunicatingNetDevice/Phy/$ns3::RadioBearerInstance/TxQueue
  • /NodeList/[i]/DeviceList/[i]/$ns3::SubscriberStationNetDevice/Classifier/$ns3::LteMacQueue
  • /NodeList/[i]/DeviceList/[i]/$ns3::SubscriberStationNetDevice/Classifier/$ns3::RadioBearerInstance/TxQueue
  • /NodeList/[i]/DeviceList/[i]/$ns3::SubscriberStationNetDevice/LinkManager/$ns3::LteMacQueue
  • /NodeList/[i]/DeviceList/[i]/$ns3::SubscriberStationNetDevice/LinkManager/$ns3::RadioBearerInstance/TxQueue
  • /NodeList/[i]/DeviceList/[i]/$ns3::SubscriberStationNetDevice/SSScheduler/$ns3::LteMacQueue
  • /NodeList/[i]/DeviceList/[i]/$ns3::SubscriberStationNetDevice/SSScheduler/$ns3::RadioBearerInstance/TxQueue
  • /NodeList/[i]/DeviceList/[i]/$ns3::UanNetDevice/Channel/NoiseModel/$ns3::LteMacQueue
  • /NodeList/[i]/DeviceList/[i]/$ns3::UanNetDevice/Channel/NoiseModel/$ns3::RadioBearerInstance/TxQueue
  • /NodeList/[i]/DeviceList/[i]/$ns3::UanNetDevice/Channel/PropagationModel/$ns3::LteMacQueue
  • /NodeList/[i]/DeviceList/[i]/$ns3::UanNetDevice/Channel/PropagationModel/$ns3::RadioBearerInstance/TxQueue
  • /NodeList/[i]/DeviceList/[i]/$ns3::UanNetDevice/Mac/$ns3::LteMacQueue
  • /NodeList/[i]/DeviceList/[i]/$ns3::UanNetDevice/Mac/$ns3::RadioBearerInstance/TxQueue
  • /NodeList/[i]/DeviceList/[i]/$ns3::UanNetDevice/Phy/$ns3::LteMacQueue
  • /NodeList/[i]/DeviceList/[i]/$ns3::UanNetDevice/Phy/$ns3::RadioBearerInstance/TxQueue
  • /NodeList/[i]/DeviceList/[i]/$ns3::UanNetDevice/Transducer/$ns3::LteMacQueue
  • /NodeList/[i]/DeviceList/[i]/$ns3::UanNetDevice/Transducer/$ns3::RadioBearerInstance/TxQueue
  • /NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/$ns3::BaseStationNetDevice/BsIpcsPacketClassifier/$ns3::LteMacQueue
  • /NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/$ns3::BaseStationNetDevice/BsIpcsPacketClassifier/$ns3::RadioBearerInstance/TxQueue
  • /NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/$ns3::BaseStationNetDevice/LinkManager/$ns3::LteMacQueue
  • /NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/$ns3::BaseStationNetDevice/LinkManager/$ns3::RadioBearerInstance/TxQueue
  • /NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/$ns3::BaseStationNetDevice/SSManager/$ns3::LteMacQueue
  • /NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/$ns3::BaseStationNetDevice/SSManager/$ns3::RadioBearerInstance/TxQueue
  • /NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/$ns3::BaseStationNetDevice/ServiceFlowManager/$ns3::LteMacQueue
  • /NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/$ns3::BaseStationNetDevice/ServiceFlowManager/$ns3::RadioBearerInstance/TxQueue
  • /NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/$ns3::SubscriberStationNetDevice/Classifier/$ns3::LteMacQueue
  • /NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/$ns3::SubscriberStationNetDevice/Classifier/$ns3::RadioBearerInstance/TxQueue
  • /NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/$ns3::SubscriberStationNetDevice/LinkManager/$ns3::LteMacQueue
  • /NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/$ns3::SubscriberStationNetDevice/LinkManager/$ns3::RadioBearerInstance/TxQueue
  • /NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/$ns3::SubscriberStationNetDevice/SSScheduler/$ns3::LteMacQueue
  • /NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/$ns3::SubscriberStationNetDevice/SSScheduler/$ns3::RadioBearerInstance/TxQueue
  • /NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/BandwidthManager/$ns3::LteMacQueue
  • /NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/BandwidthManager/$ns3::RadioBearerInstance/TxQueue
  • /NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/BurstProfileManager/$ns3::LteMacQueue
  • /NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/BurstProfileManager/$ns3::RadioBearerInstance/TxQueue
  • /NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/Channel/$ns3::UanChannel/NoiseModel/$ns3::LteMacQueue
  • /NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/Channel/$ns3::UanChannel/NoiseModel/$ns3::RadioBearerInstance/TxQueue
  • /NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/Channel/$ns3::UanChannel/PropagationModel/$ns3::LteMacQueue
  • /NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/Channel/$ns3::UanChannel/PropagationModel/$ns3::RadioBearerInstance/TxQueue
  • /NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/ConnectionManager/$ns3::LteMacQueue
  • /NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/ConnectionManager/$ns3::RadioBearerInstance/TxQueue
  • /NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/Phy/Channel/$ns3::UanChannel/NoiseModel/$ns3::LteMacQueue
  • /NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/Phy/Channel/$ns3::UanChannel/NoiseModel/$ns3::RadioBearerInstance/TxQueue
  • /NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/Phy/Channel/$ns3::UanChannel/PropagationModel/$ns3::LteMacQueue
  • /NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/Phy/Channel/$ns3::UanChannel/PropagationModel/$ns3::RadioBearerInstance/TxQueue

Attributes defined for this type:

  • MaxSize: Maximum size

TraceSources defined for this type:

  • Enqueue: Enqueue trace
  • Dequeue: Dequeue trace
  • Drop: Drop trace

Reimplemented from ns3::Object.

void ns3::LteMacQueue::SetMaxSize ( uint32_t  maxSize  ) 

set the maximum queue size

Parameters:
maxSize the max queue size

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

Generated on 6 Jan 2011 for NS-3 by  doxygen 1.6.1