Package: inet.queueing.filter
RateLimiter
simple moduleThis module limit the datarate or the packetrate of a stream of packets based on the RateTag attached to the packets.
See also: RateMeter
Inheritance diagram
The following diagram shows inheritance relationships for this type. Unresolved types are missing from the diagram.
Extends
| Name | Type | Description |
|---|---|---|
| PacketFilterBase | simple module |
This is a base module for various packet filter modules. Derived modules must implement a single packet matcher function which determines if a packet is to be passed through or filtered out. |
Parameters
| Name | Type | Default value | Description |
|---|---|---|---|
| displayStringTextFormat | string | "dropped %d/%p pk (%k/%l)" |
determines the text that is written on top of the submodule |
| maxDatarate | double | nan | |
| maxPacketrate | double | nan |
Properties
| Name | Value | Description |
|---|---|---|
| display | i=block/downarrow | |
| class | RateLimiter |
Gates
| Name | Direction | Size | Description |
|---|---|---|---|
| in | input | ||
| out | output |
Signals
| Name | Type | Unit |
|---|---|---|
| packetPushed | inet::Packet | |
| packetDropped | inet::Packet | |
| packetPopped | inet::Packet |
Statistics
| Name | Title | Source | Record | Unit | Interpolation Mode |
|---|---|---|---|---|---|
| packetPushed | packets pushed | count, sum(packetBytes), vector(packetBytes) | none | ||
| packetDropped | packets dropped | count, sum(packetBytes), vector(packetBytes) | none | ||
| packetPopped | packets popped | count, sum(packetBytes), vector(packetBytes) | none |
Source code
// // This module limit the datarate or the packetrate of a stream of packets based // on the ~RateTag attached to the packets. // // @see ~RateMeter // simple RateLimiter extends PacketFilterBase like IPacketFilter { parameters: double maxDatarate @unit(bps) = default(nan); double maxPacketrate = default(nan); @class(RateLimiter); }File: src/inet/queueing/filter/RateLimiter.ned