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  

REDQueue Class Reference

#include <red.h>

Inheritance diagram for REDQueue:

Queue< T > Connector NsObject TclObject Handler PushbackQueue RedPDQueue RIOQueue SemanticREDQueue XCPQueue SemanticRIOQueue List of all members.

Public Member Functions

 REDQueue (const char *="Drop")

Protected Member Functions

int command (int argc, const char *const *argv)
void enque (Packet *pkt)
virtual PacketpickPacketForECN (Packet *pkt)
virtual PacketpickPacketToDrop ()
Packetdeque ()
void initialize_params ()
void reset ()
void run_estimator (int nqueued, int m)
double estimator (int nqueued, int m, double ave, double q_w)
void updateMaxP (double new_ave, double now)
void updateMaxPFeng (double new_ave)
int drop_early (Packet *pkt)
double modify_p (double p, int count, int count_bytes, int bytes, int mean_pktsize, int wait, int size)
double calculate_p_new (double v_ave, double th_max, int gentle, double v_a, double v_b, double v_c, double v_d, double max_p)
double calculate_p (double v_ave, double th_max, int gentle, double v_a, double v_b, double v_c, double v_d, double max_p_inv)
virtual void reportDrop (Packet *pkt)
void print_summarystats ()
int bcount_ ()
void trace (TracedVar *)
void print_edp ()
void print_edv ()

Protected Attributes

int summarystats_
LinkDelaylink_
int fifo_
PacketQueueq_
int qib_
NsObjectde_drop_
NsObjectEDTrace
char traceType [20]
Tcl_Channel tchan_
TracedInt curq_
int drop_tail_
int drop_front_
int drop_rand_
int ns1_compat_
edp edp_
int doubleq_
int dqthresh_
int idle_
double idletime_
edv edv_
int first_reset_

Constructor & Destructor Documentation

REDQueue::REDQueue const char *    = "Drop"
 


Member Function Documentation

int REDQueue::bcount_   [inline, protected]
 

double REDQueue::calculate_p double    v_ave,
double    th_max,
int    gentle,
double    v_a,
double    v_b,
double    v_c,
double    v_d,
double    max_p_inv
[protected]
 

double REDQueue::calculate_p_new double    v_ave,
double    th_max,
int    gentle,
double    v_a,
double    v_b,
double    v_c,
double    v_d,
double    max_p
[protected]
 

int REDQueue::command int    argc,
const char *const *    argv
[protected, virtual]
 

Reimplemented from Connector.

Reimplemented in PushbackQueue, and RedPDQueue.

Packet * REDQueue::deque   [protected, virtual]
 

Implements Queue< T >.

Reimplemented in RIOQueue, and XCPQueue.

int REDQueue::drop_early Packet   pkt [protected]
 

void REDQueue::enque Packet   pkt [protected, virtual]
 

Implements Queue< T >.

Reimplemented in PushbackQueue, RedPDQueue, RIOQueue, and XCPQueue.

double REDQueue::estimator int    nqueued,
int    m,
double    ave,
double    q_w
[protected]
 

void REDQueue::initialize_params   [protected]
 

double REDQueue::modify_p double    p,
int    count,
int    count_bytes,
int    bytes,
int    mean_pktsize,
int    wait,
int    size
[protected]
 

Packet * REDQueue::pickPacketForECN Packet   pkt [protected, virtual]
 

Reimplemented in SemanticREDQueue, and SemanticRIOQueue.

Packet * REDQueue::pickPacketToDrop   [protected, virtual]
 

Reimplemented in SemanticREDQueue, and SemanticRIOQueue.

void REDQueue::print_edp   [protected]
 

Reimplemented in RIOQueue.

void REDQueue::print_edv   [protected]
 

Reimplemented in RIOQueue.

void REDQueue::print_summarystats   [protected]
 

virtual void REDQueue::reportDrop Packet   pkt [inline, protected, virtual]
 

Reimplemented in PushbackQueue.

void REDQueue::reset   [protected, virtual]
 

Reimplemented from Queue< T >.

Reimplemented in RedPDQueue, and RIOQueue.

void REDQueue::run_estimator int    nqueued,
int    m
[protected]
 

void REDQueue::trace TracedVar   [protected, virtual]
 

Reimplemented from TclObject.

Reimplemented in RIOQueue.

void REDQueue::updateMaxP double    new_ave,
double    now
[protected]
 

void REDQueue::updateMaxPFeng double    new_ave [protected]
 


Member Data Documentation

TracedInt REDQueue::curq_ [protected]
 

NsObject* REDQueue::de_drop_ [protected]
 

int REDQueue::doubleq_ [protected]
 

int REDQueue::dqthresh_ [protected]
 

int REDQueue::drop_front_ [protected]
 

int REDQueue::drop_rand_ [protected]
 

int REDQueue::drop_tail_ [protected]
 

edp REDQueue::edp_ [protected]
 

NsObject* REDQueue::EDTrace [protected]
 

edv REDQueue::edv_ [protected]
 

int REDQueue::fifo_ [protected]
 

int REDQueue::first_reset_ [protected]
 

int REDQueue::idle_ [protected]
 

double REDQueue::idletime_ [protected]
 

LinkDelay* REDQueue::link_ [protected]
 

int REDQueue::ns1_compat_ [protected]
 

PacketQueue* REDQueue::q_ [protected]
 

int REDQueue::qib_ [protected]
 

int REDQueue::summarystats_ [protected]
 

Tcl_Channel REDQueue::tchan_ [protected]
 

char REDQueue::traceType[20] [protected]
 


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