Diffserv Queue used in Experiment 2.1 - 2.4.
The following diagram shows usage relationships between types. Unresolved types are missing from the diagram.
The following diagram shows inheritance relationships for this type. Unresolved types are missing from the diagram.
Name | Direction | Size | Description |
---|---|---|---|
in | input | ||
out | output |
Name | Type | Default value | Description |
---|---|---|---|
red.wq | double | 0.002 |
weight of the current queue length in the averaged queue length |
red.minths | string | "5" |
minimum thresholds for avg queue length (one number for each gate, last one repeated if needed) |
red.maxths | string | "50" |
maximum thresholds for avg queue length (=buffer capacity) (one number for each gate, last one repeated if needed) |
red.maxps | string | "0.02" |
maximum value for pbs (one number for each gate, last one repeated if needed) |
red.pkrates | string | "150" |
average packet rate for calculations when queue is empty |
afQueue.queueName | string | "l2queue" |
name of the cQueue object, used in the 'q' tag of the display string |
beQueue.frameCapacity | int | 100 | |
beQueue.queueName | string | "l2queue" |
name of the inner cQueue object, used in the 'q' tag of the display string |
wrr.weights | string |
// // Diffserv Queue used in Experiment 2.1 - 2.4. // module DSQueue2 like IOutputQueue { gates: input in; output out; submodules: classifier: BehaviorAggregateClassifier { dscps = "AF11 AF12 AF13"; @display("p=50,181"); } red: REDDropper { numGates = 3; @display("p=142,94"); } afQueue: FIFOQueue { @display("p=266,94"); } beQueue: DropTailQueue { @display("p=204,277"); } wrr: WRRScheduler { @display("p=347,181"); } connections: in --> classifier.in; classifier.outs++ --> red.in[0]; classifier.outs++ --> red.in[1]; classifier.outs++ --> red.in[2]; classifier.defaultOut --> beQueue.in; red.out[0] --> afQueue.in++; red.out[1] --> afQueue.in++; red.out[2] --> afQueue.in++; beQueue.out --> wrr.in++; afQueue.out --> wrr.in++; wrr.out --> out; }