WrrClassifier¶
Package: inet.queueing.classifier
simple module WrrClassifier
Implements a weighted round-robin classifier.
There is a weight associated with each output gate. Initially, each output gate gets as many tokens as its weight. When a packet is pushed, the first output gate is selected that has a packet and enough tokens, and one token is consumed. When there are not enough tokens to classify a packet, then each token bucket is filled up.
Inheritance diagram¶
Extends¶
Name |
Type |
Description |
|---|---|---|
simple module |
Base module for various packet classifier modules. Derived modules must implement a single packet classifier function which determines the index of the output gate for the next pushed packet. |
Parameters¶
Name |
Type |
Default value |
Description |
|---|---|---|---|
displayStringTextFormat |
string |
“classified %p pk (%l)” |
Determines the text that is written on top of the submodule, supports displaying pars, watches, and module-specific information |
reverseOrder |
bool |
false |
|
weights |
string |
Properties¶
Name |
Value |
Description |
|---|---|---|
class |
WrrClassifier |
|
display |
i=block/classifier |
Gates¶
Name |
Direction |
Size |
Description |
|---|---|---|---|
in |
input |
||
out [ ] |
output |
Signals¶
Name |
Type |
Unit |
Description |
|---|---|---|---|
packetPushed |
Statistics¶
Name |
Title |
Source |
Record |
Unit |
Interpolation Mode |
Description |
|---|---|---|---|---|---|---|
dataRate |
data rate |
throughput(packetPushed) |
vector |
bps |
linear |
the statistical value is the data rate of the classified packets |
packetLengths |
packet lengths |
packetLength(packetPushed) |
sum,histogram,vector |
b |
none |
the statistical value is the length of the classified packet |
packets |
packets |
packetPushed |
count |
pk |
the statistical value is the classified packet |
Source code¶
//
// Implements a weighted round-robin classifier.
//
// There is a weight associated with each output gate.
// Initially, each output gate gets as many tokens as its weight.
// When a packet is pushed, the first output gate is selected that has a packet and enough tokens,
// and one token is consumed. When there are not enough tokens to classify a packet, then each token bucket
// is filled up.
//
simple WrrClassifier extends PacketClassifierBase like IPacketClassifier
{
parameters:
string weights;
@class(WrrClassifier);
}