ns-3
ns3::Queue Class Reference

Abstract base class for packet Queues. More...

#include <queue.h>

Inheritance diagram for ns3::Queue:
Collaboration diagram for ns3::Queue:

List of all members.

Public Member Functions

bool IsEmpty (void) const
bool Enqueue (Ptr< Packet > p)
Ptr< PacketDequeue (void)
Ptr< const PacketPeek (void) const
void DequeueAll (void)
uint32_t GetNPackets (void) const
uint32_t GetNBytes (void) const
uint32_t GetTotalReceivedBytes (void) const
uint32_t GetTotalReceivedPackets (void) const
uint32_t GetTotalDroppedBytes (void) const
uint32_t GetTotalDroppedPackets (void) const
void ResetStatistics (void)

Static Public Member Functions

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

Protected Member Functions

void Drop (Ptr< Packet > packet)

Detailed Description

Abstract base class for packet Queues.

This class defines the base APIs for packet queues in the ns-3 system


Member Function Documentation

Remove a packet from the front of the Queue

Returns:
0 if the operation was not successful; the packet otherwise.

References ns3::Packet::GetSize(), NS_ASSERT, NS_LOG_FUNCTION, and NS_LOG_LOGIC.

Referenced by DequeueAll(), ns3::AlohaNoackNetDevice::NotifyTransmissionEnd(), ns3::PointToPointNetDevice::Send(), ns3::EmuNetDevice::SendFrom(), and ns3::CsmaNetDevice::SendFrom().

void ns3::Queue::DequeueAll ( void  )

Flush the queue.

References Dequeue(), IsEmpty(), and NS_LOG_FUNCTION.

bool ns3::Queue::Enqueue ( Ptr< Packet p)

Place a packet into the rear of the Queue

Parameters:
ppacket to enqueue
Returns:
True if the operation was successful; false otherwise

References ns3::Packet::GetSize(), NS_LOG_FUNCTION, and NS_LOG_LOGIC.

Referenced by ns3::PointToPointNetDevice::Send(), ns3::AlohaNoackNetDevice::SendFrom(), ns3::EmuNetDevice::SendFrom(), and ns3::CsmaNetDevice::SendFrom().

uint32_t ns3::Queue::GetNBytes ( void  ) const
Returns:
The number of bytes currently occupied by the packets in the Queue

References NS_LOG_FUNCTION_NOARGS, and NS_LOG_LOGIC.

uint32_t ns3::Queue::GetNPackets ( void  ) const
Returns:
The number of packets currently stored in the Queue

References NS_LOG_FUNCTION_NOARGS, and NS_LOG_LOGIC.

uint32_t ns3::Queue::GetTotalDroppedBytes ( void  ) const
Returns:
The total number of bytes dropped by this Queue since the simulation began, or since ResetStatistics was called, according to whichever happened more recently

References NS_LOG_FUNCTION_NOARGS, and NS_LOG_LOGIC.

uint32_t ns3::Queue::GetTotalDroppedPackets ( void  ) const
Returns:
The total number of bytes dropped by this Queue since the simulation began, or since ResetStatistics was called, according to whichever happened more recently

References NS_LOG_FUNCTION_NOARGS, and NS_LOG_LOGIC.

uint32_t ns3::Queue::GetTotalReceivedBytes ( void  ) const
Returns:
The total number of bytes received by this Queue since the simulation began, or since ResetStatistics was called, according to whichever happened more recently

References NS_LOG_FUNCTION_NOARGS, and NS_LOG_LOGIC.

uint32_t ns3::Queue::GetTotalReceivedPackets ( void  ) const
Returns:
The total number of packets received by this Queue since the simulation began, or since ResetStatistics was called, according to whichever happened more recently

References NS_LOG_FUNCTION_NOARGS, and NS_LOG_LOGIC.

TypeId ns3::Queue::GetTypeId ( void  ) [static]

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

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

  • /NodeList/[i]/DeviceList/[i]/$ns3::AlohaNoackNetDevice/Phy/$ns3::CsmaNetDevice/TxQueue
  • /NodeList/[i]/DeviceList/[i]/$ns3::AlohaNoackNetDevice/Phy/$ns3::EmuNetDevice/TxQueue
  • /NodeList/[i]/DeviceList/[i]/$ns3::AlohaNoackNetDevice/Phy/$ns3::PointToPointNetDevice/TxQueue
  • /NodeList/[i]/DeviceList/[i]/$ns3::AlohaNoackNetDevice/Phy/$ns3::Queue
  • /NodeList/[i]/DeviceList/[i]/$ns3::AlohaNoackNetDevice/Queue
  • /NodeList/[i]/DeviceList/[i]/$ns3::CsmaNetDevice/TxQueue
  • /NodeList/[i]/DeviceList/[i]/$ns3::EmuNetDevice/TxQueue
  • /NodeList/[i]/DeviceList/[i]/$ns3::NonCommunicatingNetDevice/Phy/$ns3::AlohaNoackNetDevice/Queue
  • /NodeList/[i]/DeviceList/[i]/$ns3::NonCommunicatingNetDevice/Phy/$ns3::CsmaNetDevice/TxQueue
  • /NodeList/[i]/DeviceList/[i]/$ns3::NonCommunicatingNetDevice/Phy/$ns3::EmuNetDevice/TxQueue
  • /NodeList/[i]/DeviceList/[i]/$ns3::NonCommunicatingNetDevice/Phy/$ns3::PointToPointNetDevice/TxQueue
  • /NodeList/[i]/DeviceList/[i]/$ns3::NonCommunicatingNetDevice/Phy/$ns3::Queue
  • /NodeList/[i]/DeviceList/[i]/$ns3::PointToPointNetDevice/TxQueue

No Attributes defined for this type.
TraceSources defined for this type:

  • Enqueue: Enqueue a packet in the queue.
  • Dequeue: Dequeue a packet from the queue.
  • Drop: Drop a packet stored in the queue.

Reimplemented from ns3::Object.

Reimplemented in ns3::RedQueue, and ns3::DropTailQueue.

References ns3::MakeTraceSourceAccessor(), and ns3::TypeId::SetParent().

bool ns3::Queue::IsEmpty ( void  ) const
Ptr< const Packet > ns3::Queue::Peek ( void  ) const

Get a copy of the item at the front of the queue without removing it

Returns:
0 if the operation was not successful; the packet otherwise.

References NS_LOG_FUNCTION.

void ns3::Queue::ResetStatistics ( void  )

Resets the counts for dropped packets, dropped bytes, received packets, and received bytes.

References NS_LOG_FUNCTION_NOARGS.


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