ns2 Network Simulator      C++ Class Hierarchy of version ns-snapshot-20040722
Home |  Source Code |  Manual |  FAQ |  Mailing List Archive |  Search |  Download | 


Main Page   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members  

Queue< T > Class Template Reference

#include <queue.h>

Inheritance diagram for Queue< T >:

Connector NsObject TclObject Handler CBQueue Demarker DropTail DRR dsREDQueue FQ GK JoBS Marker PIQueue REDQueue REMQueue SFQ SimpleIntServ SRR Vq XCPWrapQ List of all members.

Public Member Functions

virtual void enque (Packet *)=0
virtual Packetdeque ()=0
virtual void recv (Packet *, Handler *)
virtual void updateStats (int queuesize)
void resume ()
int blocked () const
void unblock ()
void block ()
int limit ()
int length ()
int byteLength ()
virtual double utilization (void)
 Queue ()
virtual ~Queue ()
virtual void reset ()
virtual void destroy ()
void enqueue (QueueElem< T > *e)
QueueElem< T > * dequeue ()
void detach (QueueElem< T > *e)
QueueElem< T > * getHead ()
int is_empty () const
int size () const

Protected Member Functions

 Queue ()
 ~Queue ()
void reset ()
void utilUpdate (double int_begin, double int_end, int link_state)

Protected Attributes

int qlim_
int blocked_
int unblock_on_resume_
QueueHandler qh_
PacketQueuepq_
double true_ave_
double total_time_
double last_change_
double old_util_
double util_weight_
QueueElem< T > * head_
QueueElem< T > * tail_
int size_

template<class T>
class Queue< T >


Constructor & Destructor Documentation

template<class T>
Queue< T >::Queue   [protected]
 

template<class T>
Queue< T >::~Queue   [protected]
 

template<class T>
Queue< T >::Queue   [inline]
 

template<class T>
virtual Queue< T >::~Queue   [inline, virtual]
 


Member Function Documentation

template<class T>
void Queue< T >::block   [inline]
 

template<class T>
int Queue< T >::blocked   const [inline]
 

template<class T>
int Queue< T >::byteLength   [inline]
 

template<class T>
virtual Packet* Queue< T >::deque   [pure virtual]
 

Implemented in SimpleIntServ, dsREDQueue, CBQueue, WRR_CBQueue, Demarker, DropTail, DRR, FQ, GK, JoBS, Marker, PIQueue, REDQueue, REMQueue, RIOQueue, SFQ, SRR, Vq, XCPWrapQ, and XCPQueue.

template<class T>
QueueElem<T>* Queue< T >::dequeue   [inline]
 

template<class T>
virtual void Queue< T >::destroy   [inline, virtual]
 

template<class T>
void Queue< T >::detach QueueElem< T > *    e [inline]
 

template<class T>
virtual void Queue< T >::enque Packet   [pure virtual]
 

Implemented in SimpleIntServ, edgeQueue, dsREDQueue, PushbackQueue, CBQueue, Demarker, DropTail, DRR, FQ, GK, JoBS, Marker, PIQueue, RedPDQueue, REDQueue, REMQueue, RIOQueue, SFQ, SRR, Vq, XCPWrapQ, and XCPQueue.

template<class T>
void Queue< T >::enqueue QueueElem< T > *    e [inline]
 

template<class T>
QueueElem<T>* Queue< T >::getHead   [inline]
 

template<class T>
int Queue< T >::is_empty   const [inline]
 

template<class T>
int Queue< T >::length   [inline]
 

Reimplemented in DRR, and SRR.

template<class T>
int Queue< T >::limit   [inline]
 

template<class T>
void Queue< T >::recv Packet  ,
Handler  
[virtual]
 

Reimplemented from Connector.

Reimplemented in CBQueue, FQ, PriQueue, and XCPWrapQ.

template<class T>
virtual void Queue< T >::reset   [inline, virtual]
 

Reimplemented from NsObject.

Reimplemented in dsREDQueue, CBQueue, DropTail, PIQueue, RedPDQueue, REDQueue, REMQueue, and RIOQueue.

template<class T>
void Queue< T >::reset   [protected, virtual]
 

Reimplemented from NsObject.

Reimplemented in dsREDQueue, CBQueue, DropTail, PIQueue, RedPDQueue, REDQueue, REMQueue, and RIOQueue.

template<class T>
void Queue< T >::resume  
 

template<class T>
int Queue< T >::size   const [inline]
 

template<class T>
void Queue< T >::unblock   [inline]
 

template<class T>
void Queue< T >::updateStats int    queuesize [virtual]
 

template<class T>
double Queue< T >::utilization void    [virtual]
 

template<class T>
void Queue< T >::utilUpdate double    int_begin,
double    int_end,
int    link_state
[protected]
 


Member Data Documentation

template<class T>
int Queue< T >::blocked_ [protected]
 

template<class T>
QueueElem<T>* Queue< T >::head_ [protected]
 

template<class T>
double Queue< T >::last_change_ [protected]
 

template<class T>
double Queue< T >::old_util_ [protected]
 

template<class T>
PacketQueue* Queue< T >::pq_ [protected]
 

template<class T>
QueueHandler Queue< T >::qh_ [protected]
 

template<class T>
int Queue< T >::qlim_ [protected]
 

template<class T>
int Queue< T >::size_ [protected]
 

template<class T>
QueueElem<T> * Queue< T >::tail_ [protected]
 

template<class T>
double Queue< T >::total_time_ [protected]
 

template<class T>
double Queue< T >::true_ave_ [protected]
 

template<class T>
int Queue< T >::unblock_on_resume_ [protected]
 

template<class T>
double Queue< T >::util_weight_ [protected]
 


The documentation for this class was generated from the following files:
This document is generated by doxygen.