Package: inet.queueing.classifier
WrrClassifier
simple moduleThis module implements weighted round-robin classifier.
There is a weight associated with each output gate. Initially each output gate gets as many tokens as their weight. When a packet is pushed then the first output gate is selected that has a packet and enough tokens, and one token is consumed. When there is not enough tokens to classify a packet, then each token bucket is filled up.
Inheritance diagram
The following diagram shows inheritance relationships for this type. Unresolved types are missing from the diagram.
Extends
| Name | Type | Description |
|---|---|---|
| PacketClassifierBase | simple module |
This is a 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 |
| weights | string |
Properties
| Name | Value | Description |
|---|---|---|
| display | i=block/classifier | |
| class | WrrClassifier |
Gates
| Name | Direction | Size | Description |
|---|---|---|---|
| in | input | ||
| out [ ] | output |
Signals
| Name | Type | Unit |
|---|---|---|
| packetPushed | inet::Packet |
Statistics
| Name | Title | Source | Record | Unit | Interpolation Mode |
|---|---|---|---|---|---|
| packetPushed | packets pushed | count, sum(packetBytes), vector(packetBytes) | none |
Source code
// // This module implements weighted round-robin classifier. // // There is a weight associated with each output gate. // Initially each output gate gets as many tokens as their // weight. When a packet is pushed then the first output // gate is selected that has a packet and enough tokens, // and one token is consumed. When there is 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); }File: src/inet/queueing/classifier/WrrClassifier.ned