A Discrete-Event Network Simulator
API
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
ns3::QueueItem Class Reference

Base class to represent items of packet Queues. More...

#include "net-device.h"

+ Inheritance diagram for ns3::QueueItem:
+ Collaboration diagram for ns3::QueueItem:

Public Types

typedef void(* TracedCallback )(Ptr< const QueueItem > item)
 TracedCallback signature for Ptr<QueueItem> More...
 

Public Member Functions

 QueueItem (Ptr< Packet > p)
 Create a queue item containing a packet. More...
 
virtual ~QueueItem ()
 
Ptr< PacketGetPacket (void) const
 
virtual uint32_t GetPacketSize (void) const
 Use this method (instead of GetPacket ()->GetSize ()) to get the packet size. More...
 
virtual void Print (std::ostream &os) const
 Print the item contents. More...
 
- Public Member Functions inherited from ns3::SimpleRefCount< QueueItem >
 SimpleRefCount ()
 Constructor. More...
 
 SimpleRefCount (const SimpleRefCount &o)
 Copy constructor. More...
 
uint32_t GetReferenceCount (void) const
 Get the reference count of the object. More...
 
SimpleRefCountoperator= (const SimpleRefCount &o)
 Assignment. More...
 
void Ref (void) const
 Increment the reference count. More...
 
void Unref (void) const
 Decrement the reference count. More...
 

Private Member Functions

 QueueItem ()
 Default constructor. More...
 
 QueueItem (const QueueItem &)
 Copy constructor. More...
 
QueueItemoperator= (const QueueItem &)
 Assignment operator. More...
 

Private Attributes

Ptr< Packetm_packet
 The packet contained in the queue item. More...
 

Additional Inherited Members

- Static Public Member Functions inherited from ns3::SimpleRefCount< QueueItem >
static void Cleanup (void)
 Noop. More...
 

Detailed Description

Base class to represent items of packet Queues.

An item stored in an ns-3 packet Queue contains a packet and possibly other information. An item of the base class only contains a packet. Subclasses can be derived from this base class to allow items to contain additional information.

Definition at line 55 of file net-device.h.

Member Typedef Documentation

typedef void(* ns3::QueueItem::TracedCallback)(Ptr< const QueueItem > item)

TracedCallback signature for Ptr<QueueItem>

Parameters
[in]itemThe queue item.

Definition at line 92 of file net-device.h.

Constructor & Destructor Documentation

ns3::QueueItem::QueueItem ( Ptr< Packet p)

Create a queue item containing a packet.

Parameters
pthe packet included in the created item.

Definition at line 32 of file net-device.cc.

References m_packet.

ns3::QueueItem::~QueueItem ( )
virtual

Definition at line 37 of file net-device.cc.

References m_packet, and NS_LOG_FUNCTION.

ns3::QueueItem::QueueItem ( )
private

Default constructor.

Defined and unimplemented to avoid misuse

ns3::QueueItem::QueueItem ( const QueueItem )
private

Copy constructor.

Defined and unimplemented to avoid misuse

Member Function Documentation

Ptr< Packet > ns3::QueueItem::GetPacket ( void  ) const
uint32_t ns3::QueueItem::GetPacketSize ( void  ) const
virtual

Use this method (instead of GetPacket ()->GetSize ()) to get the packet size.

Subclasses may keep header and payload separate to allow manipulating the header, so using this method ensures that the correct packet size is returned.

Returns
the size of the packet included in this item.

Reimplemented in ns3::Ipv4QueueDiscItem, and ns3::Ipv6QueueDiscItem.

Definition at line 50 of file net-device.cc.

References ns3::Packet::GetSize(), m_packet, and NS_ASSERT.

+ Here is the call graph for this function:

QueueItem& ns3::QueueItem::operator= ( const QueueItem )
private

Assignment operator.

Defined and unimplemented to avoid misuse

Returns
void ns3::QueueItem::Print ( std::ostream &  os) const
virtual

Print the item contents.

Parameters
osoutput stream in which the data should be printed.

Reimplemented in ns3::QueueDiscItem, ns3::Ipv4QueueDiscItem, and ns3::Ipv6QueueDiscItem.

Definition at line 57 of file net-device.cc.

References GetPacket().

Referenced by ns3::operator<<().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

Member Data Documentation

Ptr<Packet> ns3::QueueItem::m_packet
private

The packet contained in the queue item.

Definition at line 118 of file net-device.h.

Referenced by GetPacket(), GetPacketSize(), QueueItem(), and ~QueueItem().


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