Package: inet.queueing.shaper
PacketShaper
compound moduleThis module combines a packet queue and a packet gate into a packet shaper module. The queue stores the packets sorted according to its ordering and the gate decides when the first packet can be pulled from the queue.
Usage diagram
The following diagram shows usage relationships between types. Unresolved types are missing from the diagram.
Inheritance diagram
The following diagram shows inheritance relationships for this type. Unresolved types are missing from the diagram.
Known subclasses
Name | Type | Description |
---|---|---|
AsynchronousShaper | compound module |
This module implements an asynchronous shaper. The queue sorts packets based on the transmission eligibility time (EligibilityTimeTag) attached to each packet. The gate prevents packets to be transmitter earlier than the attached transmission eligibility time. |
CreditBasedShaper | compound module |
This module implements a credit based shaper using a gate submodule to manage the number of credits. |
TimeAwareShaper | compound module |
This module implements a time-aware shaper using a gate submodule that opens and closes according to a time-based schedule. |
Properties
Name | Value | Description |
---|---|---|
display | i=block/bucket |
Gates
Name | Direction | Size | Description |
---|---|---|---|
in | input | ||
out | output |
Source code
// // This module combines a packet queue and a packet gate into a packet shaper // module. The queue stores the packets sorted according to its ordering and // the gate decides when the first packet can be pulled from the queue. // module PacketShaper like IPacketShaper { parameters: @display("i=block/bucket"); gates: input in; output out; submodules: queue: <default("PacketQueue")> like IPacketQueue { @display("p=100,150"); } gate: <default("")> like IPacketGate { @display("p=300,150"); } connections: in --> queue.in; queue.out --> gate.in; gate.out --> out; }File: src/inet/queueing/shaper/PacketShaper.ned