A Discrete-Event Network Simulator
API
ns3::DropTailQueue< Item > Class Template Reference

A FIFO packet queue that drops tail-end packets on overflow. More...

#include "drop-tail-queue.h"

+ Inheritance diagram for ns3::DropTailQueue< Item >:
+ Collaboration diagram for ns3::DropTailQueue< Item >:

Public Member Functions

 DropTailQueue ()
 DropTailQueue Constructor. More...
 
virtual ~DropTailQueue ()
 
virtual Ptr< Item > Dequeue (void)
 Remove an item from the Queue (each subclass defines the position), counting it and tracing it as dequeued. More...
 
virtual bool Enqueue (Ptr< Item > item)
 Place an item into the Queue (each subclass defines the position) More...
 
virtual Ptr< const Item > Peek (void) const
 Get a copy of an item in the queue (each subclass defines the position) without removing it. More...
 
virtual Ptr< Item > Remove (void)
 Remove an item from the Queue (each subclass defines the position), counting it and tracing it as both dequeued and dropped. More...
 
- Public Member Functions inherited from ns3::Queue< Item >
 Queue ()
 
virtual ~Queue ()
 
void Flush (void)
 Flush the queue by calling Remove() on each item enqueued. More...
 

Static Public Member Functions

static TypeId GetTypeId (void)
 Get the type ID. More...
 
- Static Public Member Functions inherited from ns3::Queue< Item >
static TypeId GetTypeId (void)
 Get the type ID. More...
 

Private Attributes

 NS_LOG_TEMPLATE_DECLARE
 redefinition of the log component More...
 

Additional Inherited Members

- Public Types inherited from ns3::Queue< Item >
typedef Item ItemType
 Define ItemType as the type of the stored elements. More...
 
- Protected Types inherited from ns3::Queue< Item >
typedef std::list< Ptr< Item > >::const_iterator ConstIterator
 Const iterator. More...
 
typedef std::list< Ptr< Item > >::iterator Iterator
 Iterator. More...
 
- Protected Member Functions inherited from ns3::Queue< Item >
Iterator begin (void)
 Get an iterator which refers to the first item in the queue. More...
 
ConstIterator begin (void) const
 Get a const iterator which refers to the first item in the queue. More...
 
Ptr< Item > DoDequeue (ConstIterator pos)
 Pull the item to dequeue from the queue. More...
 
void DoDispose (void) override
 
bool DoEnqueue (ConstIterator pos, Ptr< Item > item)
 Push an item in the queue. More...
 
bool DoEnqueue (ConstIterator pos, Ptr< Item > item, Iterator &ret)
 Push an item in the queue. More...
 
Ptr< const Item > DoPeek (ConstIterator pos) const
 Peek the front item in the queue. More...
 
Ptr< Item > DoRemove (ConstIterator pos)
 Pull the item to drop from the queue. More...
 
void DropAfterDequeue (Ptr< Item > item)
 Drop a packet after dequeue. More...
 
void DropBeforeEnqueue (Ptr< Item > item)
 Drop a packet before enqueue. More...
 
Iterator end (void)
 Get an iterator which indicates past-the-last item in the queue. More...
 
ConstIterator end (void) const
 Get a const iterator which indicates past-the-last item in the queue. More...
 

Detailed Description

template<typename Item>
class ns3::DropTailQueue< Item >

A FIFO packet queue that drops tail-end packets on overflow.

Definition at line 32 of file drop-tail-queue.h.

Constructor & Destructor Documentation

◆ DropTailQueue()

template<typename Item >
ns3::DropTailQueue< Item >::DropTailQueue

DropTailQueue Constructor.

Creates a droptail queue with a maximum size of 100 packets by default

Definition at line 89 of file drop-tail-queue.h.

References NS_LOG_FUNCTION.

◆ ~DropTailQueue()

template<typename Item >
ns3::DropTailQueue< Item >::~DropTailQueue
virtual

Definition at line 97 of file drop-tail-queue.h.

References NS_LOG_FUNCTION.

Member Function Documentation

◆ Dequeue()

template<typename Item >
Ptr< Item > ns3::DropTailQueue< Item >::Dequeue ( void  )
virtual

Remove an item from the Queue (each subclass defines the position), counting it and tracing it as dequeued.

Returns
0 if the operation was not successful; the item otherwise.

Implements ns3::Queue< Item >.

Definition at line 113 of file drop-tail-queue.h.

References NS_LOG_FUNCTION, and NS_LOG_LOGIC.

◆ Enqueue()

template<typename Item >
bool ns3::DropTailQueue< Item >::Enqueue ( Ptr< Item >  item)
virtual

Place an item into the Queue (each subclass defines the position)

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

Implements ns3::Queue< Item >.

Definition at line 104 of file drop-tail-queue.h.

References NS_LOG_FUNCTION.

◆ GetTypeId()

template<typename Item >
TypeId ns3::DropTailQueue< Item >::GetTypeId ( void  )
static

Get the type ID.

Implementation of the templates declared above.

Returns
the object TypeId

Definition at line 72 of file drop-tail-queue.h.

References ns3::QueueBase::GetMaxSize(), ns3::GetTypeParamName(), ns3::MakeQueueSizeAccessor(), ns3::MakeQueueSizeChecker(), ns3::QueueBase::SetMaxSize(), and ns3::TypeId::SetParent().

+ Here is the call graph for this function:

◆ Peek()

template<typename Item >
Ptr< const Item > ns3::DropTailQueue< Item >::Peek ( void  ) const
virtual

Get a copy of an item in the queue (each subclass defines the position) without removing it.

Returns
0 if the operation was not successful; the item otherwise.

Implements ns3::Queue< Item >.

Definition at line 139 of file drop-tail-queue.h.

References NS_LOG_FUNCTION.

◆ Remove()

template<typename Item >
Ptr< Item > ns3::DropTailQueue< Item >::Remove ( void  )
virtual

Remove an item from the Queue (each subclass defines the position), counting it and tracing it as both dequeued and dropped.

Returns
0 if the operation was not successful; the item otherwise.

Implements ns3::Queue< Item >.

Definition at line 126 of file drop-tail-queue.h.

References NS_LOG_FUNCTION, and NS_LOG_LOGIC.

Member Data Documentation

◆ NS_LOG_TEMPLATE_DECLARE

template<typename Item >
ns3::DropTailQueue< Item >::NS_LOG_TEMPLATE_DECLARE
private

redefinition of the log component

Definition at line 62 of file drop-tail-queue.h.


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