Package: inet.queueing.meter
RateMeter
simple moduleThis module attaches a RateTag to each packet specifying the datarate and packetrate of the received stream of packets. The algorithm takes older packets into account with an exponentially decreasing weight.
Inheritance diagram
The following diagram shows inheritance relationships for this type. Unresolved types are missing from the diagram.
Extends
Name | Type | Description |
---|---|---|
PacketMeterBase | simple module |
This is a base module for various packet meter modules. Derived modules must implement a single meterPacket() function which meters the flow of and attaches the required tags. |
Parameters
Name | Type | Default value | Description |
---|---|---|---|
displayStringTextFormat | string | "metered %p pk (%l)" |
determines the text that is written on top of the submodule |
alpha | double |
parameter in the range of (0, 1) for the exponential weight decrease |
Properties
Name | Value | Description |
---|---|---|
display | i=block/star | |
class | RateMeter |
Gates
Name | Direction | Size | Description |
---|---|---|---|
in | input | ||
out | output |
Source code
// // This module attaches a ~RateTag to each packet specifying the datarate and // packetrate of the received stream of packets. The algorithm takes older // packets into account with an exponentially decreasing weight. // simple RateMeter extends PacketMeterBase like IPacketMeter { parameters: double alpha; // parameter in the range of (0, 1) for the exponential weight decrease @display("i=block/star"); @class(RateMeter); gates: input in @labels(push); output out @labels(push); }File: src/inet/queueing/meter/RateMeter.ned