|
DRCL J-Sim API | ||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||||
java.lang.Objectdrcl.DrclObj
drcl.comp.Component
drcl.comp.queue.ActiveQueue
drcl.inet.core.Queue
drcl.diffserv.scheduling.ColorQueue
Three Color Queue -- an extension of RED
Properties:
MeanPacketsize: mean packet size
Wait: wait flag
CongestBit: ECN enabled?
MaxThresh_RED: Maximum threshhold for RED
MaxThresh_YELLOW: Maximum threshold for YELLOW
MaxThresh_GREEN: Maximum threshold for GREEN
MinThresh_RED: Minimum threshhold for RED
MinThresh_YELLOW: Minimum threshold for YELLOW
MinThresh_GREEN: Minimum threshold for GREEN
DropPreference: drop tail, front or random?
RedQMaxSize: capcity of the virutal Red Queue
YellowQMaxSize: capcity of the virutal Yellow Queue
GreenQMaxSize: capcity of the virutal Green Queue
Max_P_Red_Inv: max_p for RED
Max_P_Yellow_Inv: max_p for YELLOW
Max_P_Green_Inv: max_p for GREEN
Bandwidth: bandwidth of the link
Q_w: weight for estimating average queue size
| Nested Class Summary |
| Nested classes inherited from class drcl.comp.Component |
Component.Locks |
| Field Summary | |
boolean |
COLOR_EWMA
|
boolean |
COLOR_HOLT_WINTERS
|
static java.lang.String |
DROP_FRONT
|
static java.lang.String |
DROP_RAND
|
static java.lang.String |
DROP_TAIL
|
drcl.diffserv.scheduling.ColorQueue.edp |
edp_
early-drop params |
drcl.diffserv.scheduling.ColorQueue.edv |
edv_
early-drop variables |
UniformDistribution |
ug
|
| Fields inherited from class drcl.comp.queue.ActiveQueue |
OUTPUT_PORT_ID |
| Fields inherited from interface drcl.diffserv.DFConstants |
_AF_CLASSES, _SINGLE_RATE, _TWO_RATE, AF11, AF11_TOS, AF12, AF12_TOS, AF13, AF13_TOS, AF1x, AF1x_TOS, AF21, AF21_TOS, AF22, AF22_TOS, AF23, AF23_TOS, AF2x, AF2x_TOS, AF31, AF31_TOS, AF32, AF32_TOS, AF33, AF33_TOS, AF3x, AF3x_TOS, BE, BE_TOS, DFCLASS_MASK, DSCPMask, DSCPShift, EF, EF_TOS, GREEN, IN_PROFILE, MODES, OUT_PROFILE, RED, SINGLE_RATE, TWO_RATE, YELLOW |
| Fields inherited from interface drcl.inet.core.InetCoreConstants |
CONFIG_PORT_ID, PULL_PORT_ID |
| Constructor Summary | |
ColorQueue()
|
|
ColorQueue(java.lang.String id)
|
|
| Method Summary | |
int |
classify(Packet pkt_)
Returns the class the packet belongs to. |
void |
config(double minth_g,
double maxth_g,
double imaxp_g,
double minth_y,
double maxth_y,
double imaxp_y,
double minth_r,
double maxth_r,
double imaxp_r,
double qw_,
double bw,
int meanpsize_)
|
java.lang.Object |
dequeue()
Retrieve the next packet in the queue for transmission. |
void |
duplicate(java.lang.Object source_)
Duplicates the content of source_, including ID, name, child components and connections among them, to this component. |
java.lang.Object |
enqueue(java.lang.Object obj_)
Picks packet to drop. |
java.lang.Object |
firstElement()
Retrieves but not dequeue the first object in the queue. |
double |
getBandwidth()
|
int |
getCapacity()
Returns the capacity of the queue. |
PktClassifier |
getClassifier()
|
int |
getDropPreference()
|
int |
getGreenQSize()
|
int |
getMaxGreenQSize()
|
int |
getMaxRedQSize()
|
int |
getMaxYellowQSize()
|
int |
getRedQSize()
|
long |
getSeed()
|
int |
getSize()
Returns the current size of the queue. |
int |
getYellowQSize()
|
java.lang.String |
info(java.lang.String prefix_)
|
boolean |
isEmpty()
Return true if the queue is empty. |
boolean |
isFull()
Return true if the queue is full. |
void |
print_edp()
|
void |
print_edv()
|
void |
reset()
Resets the queue. |
void |
setBandwidth(double v_)
|
void |
setCapacity(int size)
Sets the capacity (in bytes) of the queue. |
void |
setClassifier(PktClassifier c_)
|
void |
setCongestBit(boolean cb_)
|
void |
setDefault()
|
void |
setDropPreference(java.lang.String pref_)
|
void |
setGreenQMaxSize(int size)
|
void |
setMax_P_Green_Inv(double p_)
|
void |
setMax_P_Red_Inv(double p_)
|
void |
setMax_P_Yellow_Inv(double p_)
|
void |
setMaxThresh_GREEN(double max)
|
void |
setMaxThresh_RED(double max)
|
void |
setMaxThresh_YELLOW(double max)
|
void |
setMeanPacketsize(int size)
Interface for user to supply parameters |
void |
setMinThresh_GREEN(double max)
|
void |
setMinThresh_RED(double max)
|
void |
setMinThresh_YELLOW(double max)
|
void |
setPtc()
|
void |
setQ_w(double q_w_)
|
void |
setRedQMaxSize(int size)
|
void |
setSeed(long seed_)
|
void |
setWait(boolean wait_)
|
void |
setYellowQMaxSize(int size)
|
| Methods inherited from class drcl.inet.core.Queue |
getMode, setMode |
| Methods inherited from class drcl.comp.queue.ActiveQueue |
enqueueAt, getAvailableSize, increaseEnqueCount, info, lastElement, peekAt, retrieveAt |
| Methods inherited from class drcl.DrclObj |
clone |
| Methods inherited from class java.lang.Object |
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait |
| Field Detail |
public static final java.lang.String DROP_TAIL
public static final java.lang.String DROP_FRONT
public static final java.lang.String DROP_RAND
public boolean COLOR_EWMA
public boolean COLOR_HOLT_WINTERS
public UniformDistribution ug
public drcl.diffserv.scheduling.ColorQueue.edp edp_
public drcl.diffserv.scheduling.ColorQueue.edv edv_
| Constructor Detail |
public ColorQueue()
public ColorQueue(java.lang.String id)
| Method Detail |
public java.lang.Object firstElement()
ActiveQueue
firstElement in class ActiveQueuepublic void reset()
reset in class Queuepublic java.lang.Object dequeue()
dequeue in class ActiveQueuepublic java.lang.Object enqueue(java.lang.Object obj_)
enqueue in class ActiveQueuepublic void duplicate(java.lang.Object source_)
Component
duplicate in interface ObjectDuplicableduplicate in class Queuepublic void setSeed(long seed_)
public long getSeed()
public void setMeanPacketsize(int size)
public void setWait(boolean wait_)
public void setCongestBit(boolean cb_)
public void setMaxThresh_RED(double max)
public void setMaxThresh_YELLOW(double max)
public void setMaxThresh_GREEN(double max)
public void setMinThresh_RED(double max)
public void setMinThresh_YELLOW(double max)
public void setMinThresh_GREEN(double max)
public void setDropPreference(java.lang.String pref_)
public int getDropPreference()
public void setCapacity(int size)
Queue
setCapacity in class Queuesize - the new capacity.public void setRedQMaxSize(int size)
public void setYellowQMaxSize(int size)
public void setGreenQMaxSize(int size)
public int getSize()
Queue
getSize in class Queuepublic int getGreenQSize()
public int getYellowQSize()
public int getRedQSize()
public int getCapacity()
Queue
getCapacity in class Queuepublic int getMaxGreenQSize()
public int getMaxYellowQSize()
public int getMaxRedQSize()
public void setMax_P_Red_Inv(double p_)
public void setMax_P_Yellow_Inv(double p_)
public void setMax_P_Green_Inv(double p_)
public void config(double minth_g,
double maxth_g,
double imaxp_g,
double minth_y,
double maxth_y,
double imaxp_y,
double minth_r,
double maxth_r,
double imaxp_r,
double qw_,
double bw,
int meanpsize_)
public double getBandwidth()
public void setBandwidth(double v_)
public void setPtc()
public void setQ_w(double q_w_)
public void setClassifier(PktClassifier c_)
public PktClassifier getClassifier()
public int classify(Packet pkt_)
PktClassifier
classify in interface PktClassifierpublic void setDefault()
public void print_edp()
public void print_edv()
public java.lang.String info(java.lang.String prefix_)
info in class Queuepublic boolean isEmpty()
ActiveQueue
isEmpty in class ActiveQueuepublic boolean isFull()
ActiveQueue
isFull in class ActiveQueue
|
DRCL J-Sim API | ||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||||