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 Types

enum  QueueMode { QUEUE_MODE_PACKETS, QUEUE_MODE_BYTES }
 Enumeration of the modes supported in the class. More...

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)
- Public Member Functions inherited from ns3::Object
virtual TypeId GetInstanceTypeId (void) const
template<typename T >
Ptr< T > GetObject (void) const
template<typename T >
Ptr< T > GetObject (TypeId tid) const
void Dispose (void)
void AggregateObject (Ptr< Object > other)
AggregateIterator GetAggregateIterator (void) const
void Start (void)
- Public Member Functions inherited from ns3::SimpleRefCount< Object, ObjectBase, ObjectDeleter >
 SimpleRefCount (const SimpleRefCount &o)
SimpleRefCountoperator= (const SimpleRefCount &o)
void Ref (void) const
void Unref (void) const
uint32_t GetReferenceCount (void) const
- Public Member Functions inherited from ns3::ObjectBase
void SetAttribute (std::string name, const AttributeValue &value)
bool SetAttributeFailSafe (std::string name, const AttributeValue &value)
void GetAttribute (std::string name, AttributeValue &value) const
bool GetAttributeFailSafe (std::string name, AttributeValue &attribute) const
bool TraceConnect (std::string name, std::string context, const CallbackBase &cb)
bool TraceConnectWithoutContext (std::string name, const CallbackBase &cb)
bool TraceDisconnect (std::string name, std::string context, const CallbackBase &cb)
bool TraceDisconnectWithoutContext (std::string name, const CallbackBase &cb)

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)
- Protected Member Functions inherited from ns3::Object
virtual void NotifyNewAggregate (void)
virtual void DoStart (void)
virtual void DoDispose (void)
 Object (const Object &o)

Detailed Description

Abstract base class for packet Queues.

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


Member Enumeration Documentation

Enumeration of the modes supported in the class.

Enumerator:
QUEUE_MODE_PACKETS 

Use number of packets for maximum queue size

QUEUE_MODE_BYTES 

Use number of bytes for maximum queue size


Member Function Documentation

Ptr< Packet > ns3::Queue::Dequeue ( void  )

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/Queue
  • /NodeList/[i]/DeviceList/[i]/$ns3::CsmaNetDevice/TxQueue
  • /NodeList/[i]/DeviceList/[i]/$ns3::EmuNetDevice/TxQueue
  • /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: