Abstract base class for packet Queues. More...
#include <queue.h>
Public Member Functions | |
Queue () | |
virtual | ~Queue () |
bool | IsEmpty (void) const |
bool | Enqueue (Ptr< Packet > p) |
Ptr< Packet > | Dequeue (void) |
Ptr< const Packet > | Peek (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) |
Private Member Functions | |
virtual bool | DoEnqueue (Ptr< Packet > p)=0 |
virtual Ptr< Packet > | DoDequeue (void)=0 |
virtual Ptr< const Packet > | DoPeek (void) const =0 |
Private Attributes | |
TracedCallback< Ptr< const Packet > > | m_traceEnqueue |
TracedCallback< Ptr< const Packet > > | m_traceDequeue |
TracedCallback< Ptr< const Packet > > | m_traceDrop |
uint32_t | m_nBytes |
uint32_t | m_nTotalReceivedBytes |
uint32_t | m_nPackets |
uint32_t | m_nTotalReceivedPackets |
uint32_t | m_nTotalDroppedBytes |
uint32_t | m_nTotalDroppedPackets |
Abstract base class for packet Queues.
This class defines the base APIs for packet queues in the ns-3 system
Definition at line 45 of file queue.h.
ns3::Queue::Queue | ( | ) |
Definition at line 44 of file queue.cc.
References NS_LOG_FUNCTION_NOARGS.
ns3::Queue::~Queue | ( | ) | [virtual] |
Definition at line 55 of file queue.cc.
References NS_LOG_FUNCTION_NOARGS.
Remove a packet from the front of the Queue
Definition at line 79 of file queue.cc.
References DoDequeue(), m_nBytes, m_nPackets, m_traceDequeue, NS_ASSERT, NS_LOG_FUNCTION, and NS_LOG_LOGIC.
Referenced by DequeueAll().
void ns3::Queue::DequeueAll | ( | void | ) |
Flush the queue.
Definition at line 101 of file queue.cc.
References Dequeue(), IsEmpty(), and NS_LOG_FUNCTION.
Implemented in ns3::DropTailQueue.
Referenced by Dequeue().
Implemented in ns3::DropTailQueue.
Referenced by Enqueue().
Implemented in ns3::DropTailQueue.
Referenced by Peek().
Definition at line 185 of file queue.cc.
References m_nTotalDroppedBytes, m_nTotalDroppedPackets, m_traceDrop, NS_LOG_FUNCTION, and NS_LOG_LOGIC.
Referenced by ns3::DropTailQueue::DoEnqueue().
Place a packet into the rear of the Queue
Definition at line 62 of file queue.cc.
References DoEnqueue(), m_nBytes, m_nPackets, m_traceEnqueue, NS_LOG_FUNCTION, and NS_LOG_LOGIC.
uint32_t ns3::Queue::GetNBytes | ( | void | ) | const |
Definition at line 127 of file queue.cc.
References m_nBytes, NS_LOG_FUNCTION_NOARGS, and NS_LOG_LOGIC.
uint32_t ns3::Queue::GetNPackets | ( | void | ) | const |
Definition at line 119 of file queue.cc.
References m_nPackets, NS_LOG_FUNCTION_NOARGS, and NS_LOG_LOGIC.
uint32_t ns3::Queue::GetTotalDroppedBytes | ( | void | ) | const |
Definition at line 159 of file queue.cc.
References m_nTotalDroppedBytes, NS_LOG_FUNCTION_NOARGS, and NS_LOG_LOGIC.
uint32_t ns3::Queue::GetTotalDroppedPackets | ( | void | ) | const |
Definition at line 167 of file queue.cc.
References m_nTotalDroppedPackets, NS_LOG_FUNCTION_NOARGS, and NS_LOG_LOGIC.
uint32_t ns3::Queue::GetTotalReceivedBytes | ( | void | ) | const |
Definition at line 143 of file queue.cc.
References m_nTotalReceivedBytes, NS_LOG_FUNCTION_NOARGS, and NS_LOG_LOGIC.
uint32_t ns3::Queue::GetTotalReceivedPackets | ( | void | ) | const |
Definition at line 151 of file queue.cc.
References m_nTotalReceivedPackets, 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:
No Attributes defined for this type.
TraceSources defined for this type:
Reimplemented from ns3::Object.
Reimplemented in ns3::DropTailQueue.
Definition at line 30 of file queue.cc.
References m_traceDequeue, m_traceDrop, m_traceEnqueue, ns3::MakeTraceSourceAccessor(), and ns3::TypeId::SetParent().
bool ns3::Queue::IsEmpty | ( | void | ) | const |
Definition at line 135 of file queue.cc.
References m_nPackets, NS_LOG_FUNCTION_NOARGS, and NS_LOG_LOGIC.
Referenced by DequeueAll().
Get a copy of the item at the front of the queue without removing it
Definition at line 111 of file queue.cc.
References DoPeek(), and NS_LOG_FUNCTION.
void ns3::Queue::ResetStatistics | ( | void | ) |
Resets the counts for dropped packets, dropped bytes, recieved packets, and recieved bytes.
Definition at line 175 of file queue.cc.
References m_nTotalDroppedBytes, m_nTotalDroppedPackets, m_nTotalReceivedBytes, m_nTotalReceivedPackets, and NS_LOG_FUNCTION_NOARGS.
uint32_t ns3::Queue::m_nBytes [private] |
Definition at line 156 of file queue.h.
Referenced by Dequeue(), Enqueue(), and GetNBytes().
uint32_t ns3::Queue::m_nPackets [private] |
uint32_t ns3::Queue::m_nTotalDroppedBytes [private] |
Definition at line 160 of file queue.h.
Referenced by Drop(), GetTotalDroppedBytes(), and ResetStatistics().
uint32_t ns3::Queue::m_nTotalDroppedPackets [private] |
Definition at line 161 of file queue.h.
Referenced by Drop(), GetTotalDroppedPackets(), and ResetStatistics().
uint32_t ns3::Queue::m_nTotalReceivedBytes [private] |
Definition at line 157 of file queue.h.
Referenced by GetTotalReceivedBytes(), and ResetStatistics().
uint32_t ns3::Queue::m_nTotalReceivedPackets [private] |
Definition at line 159 of file queue.h.
Referenced by GetTotalReceivedPackets(), and ResetStatistics().
TracedCallback<Ptr<const Packet> > ns3::Queue::m_traceDequeue [private] |
Definition at line 153 of file queue.h.
Referenced by Dequeue(), and GetTypeId().
TracedCallback<Ptr<const Packet> > ns3::Queue::m_traceDrop [private] |
Definition at line 154 of file queue.h.
Referenced by Drop(), and GetTypeId().
TracedCallback<Ptr<const Packet> > ns3::Queue::m_traceEnqueue [private] |
Definition at line 152 of file queue.h.
Referenced by Enqueue(), and GetTypeId().