Abstract base class for packet Queues. More...
#include <queue.h>
Public Types | |
enum | QueueMode { QUEUE_MODE_PACKETS, QUEUE_MODE_BYTES } |
Enumeration of the modes supported in the class. More... | |
Public Member Functions | |
Ptr< Packet > | Dequeue (void) |
void | DequeueAll (void) |
bool | Enqueue (Ptr< Packet > p) |
uint32_t | GetNBytes (void) const |
uint32_t | GetNPackets (void) const |
uint32_t | GetTotalDroppedBytes (void) const |
uint32_t | GetTotalDroppedPackets (void) const |
uint32_t | GetTotalReceivedBytes (void) const |
uint32_t | GetTotalReceivedPackets (void) const |
bool | IsEmpty (void) const |
Ptr< const Packet > | Peek (void) const |
void | ResetStatistics (void) |
Public Member Functions inherited from ns3::Object | |
void | AggregateObject (Ptr< Object > other) |
void | Dispose (void) |
AggregateIterator | GetAggregateIterator (void) const |
virtual TypeId | GetInstanceTypeId (void) const |
template<typename T > | |
Ptr< T > | GetObject (void) const |
template<typename T > | |
Ptr< T > | GetObject (TypeId tid) const |
void | Initialize (void) |
Public Member Functions inherited from ns3::SimpleRefCount< Object, ObjectBase, ObjectDeleter > | |
SimpleRefCount (const SimpleRefCount &o) | |
uint32_t | GetReferenceCount (void) const |
SimpleRefCount & | operator= (const SimpleRefCount &o) |
void | Ref (void) const |
void | Unref (void) const |
Public Member Functions inherited from ns3::ObjectBase | |
void | GetAttribute (std::string name, AttributeValue &value) const |
bool | GetAttributeFailSafe (std::string name, AttributeValue &attribute) const |
void | SetAttribute (std::string name, const AttributeValue &value) |
bool | SetAttributeFailSafe (std::string name, const AttributeValue &value) |
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) |
Static Public Member Functions inherited from ns3::Object | |
static TypeId | GetTypeId (void) |
Static Public Member Functions inherited from ns3::SimpleRefCount< Object, ObjectBase, ObjectDeleter > | |
static void | Cleanup (void) |
Static Public Member Functions inherited from ns3::ObjectBase | |
static TypeId | GetTypeId (void) |
Protected Member Functions | |
void | Drop (Ptr< Packet > packet) |
Protected Member Functions inherited from ns3::Object | |
Object (const Object &o) | |
virtual void | DoDispose (void) |
virtual void | DoInitialize (void) |
virtual void | NotifyNewAggregate (void) |
Protected Member Functions inherited from ns3::ObjectBase | |
void | ConstructSelf (const AttributeConstructionList &attributes) |
virtual void | NotifyConstructionCompleted (void) |
Private Member Functions | |
virtual Ptr< Packet > | DoDequeue (void)=0 |
virtual bool | DoEnqueue (Ptr< Packet > p)=0 |
virtual Ptr< const Packet > | DoPeek (void) const =0 |
Private Attributes | |
uint32_t | m_nBytes |
uint32_t | m_nPackets |
uint32_t | m_nTotalDroppedBytes |
uint32_t | m_nTotalDroppedPackets |
uint32_t | m_nTotalReceivedBytes |
uint32_t | m_nTotalReceivedPackets |
TracedCallback< Ptr< const Packet > > | m_traceDequeue |
TracedCallback< Ptr< const Packet > > | m_traceDrop |
TracedCallback< Ptr< const Packet > > | m_traceEnqueue |
Abstract base class for packet Queues.
This class defines the base APIs for packet queues in the ns-3 system
ns3::Queue is accessible through the following paths with Config::Set and Config::Connect:
No Attributes are defined for this type.
Remove a packet from the front of the Queue
Definition at line 86 of file queue.cc.
References ns3::Packet::GetSize(), NS_ASSERT, NS_LOG_FUNCTION, and NS_LOG_LOGIC.
Referenced by DropTailQueueTestCase::DoRun().
void ns3::Queue::DequeueAll | ( | void | ) |
Place a packet into the rear of the Queue
p | packet to enqueue |
Definition at line 62 of file queue.cc.
References ns3::Packet::GetSize(), NS_LOG_FUNCTION, and NS_LOG_LOGIC.
Referenced by DropTailQueueTestCase::DoRun().
uint32_t ns3::Queue::GetNBytes | ( | void | ) | const |
Definition at line 133 of file queue.cc.
References NS_LOG_FUNCTION, and NS_LOG_LOGIC.
uint32_t ns3::Queue::GetNPackets | ( | void | ) | const |
Definition at line 125 of file queue.cc.
References NS_LOG_FUNCTION, and NS_LOG_LOGIC.
Referenced by DropTailQueueTestCase::DoRun().
uint32_t ns3::Queue::GetTotalDroppedBytes | ( | void | ) | const |
Definition at line 165 of file queue.cc.
References NS_LOG_FUNCTION, and NS_LOG_LOGIC.
uint32_t ns3::Queue::GetTotalDroppedPackets | ( | void | ) | const |
Definition at line 173 of file queue.cc.
References NS_LOG_FUNCTION, and NS_LOG_LOGIC.
uint32_t ns3::Queue::GetTotalReceivedBytes | ( | void | ) | const |
Definition at line 149 of file queue.cc.
References NS_LOG_FUNCTION, and NS_LOG_LOGIC.
uint32_t ns3::Queue::GetTotalReceivedPackets | ( | void | ) | const |
Definition at line 157 of file queue.cc.
References NS_LOG_FUNCTION, and NS_LOG_LOGIC.
bool ns3::Queue::IsEmpty | ( | void | ) | const |
Definition at line 141 of file queue.cc.
References NS_LOG_FUNCTION, and NS_LOG_LOGIC.
Get a copy of the item at the front of the queue without removing it
Definition at line 117 of file queue.cc.
References NS_LOG_FUNCTION.
void ns3::Queue::ResetStatistics | ( | void | ) |
Resets the counts for dropped packets, dropped bytes, received packets, and received bytes.
Definition at line 181 of file queue.cc.
References NS_LOG_FUNCTION.