IPacketShaper

Package: inet.queueing.contract

IPacketShaper

module interface

This module interface is implemented by packet shaper modules. A packet shaper connects one input to one output. It operates in passive mode both on its input and its output. These modules may delay and reorder packets but they never modify or drop packets.

Inheritance diagram

The following diagram shows inheritance relationships for this type. Unresolved types are missing from the diagram.

Implemented by

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.

PacketShaper compound module

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.

PriorityShaper compound module

This module combines a classifier, a scheduler and several traffic shapers into a single packet shaper. Packets are classified into one of the traffic shapers and the scheduler prioritizes among them.

TimeAwareShaper compound module

This module implements a time-aware shaper using a gate submodule that opens and closes according to a time-based schedule.

Used in compound modules

Name Type Description
PriorityShaper compound module

This module combines a classifier, a scheduler and several traffic shapers into a single packet shaper. Packets are classified into one of the traffic shapers and the scheduler prioritizes among them.

Extends

Name Type Description
IActivePacketSource module interface

This module interface must be implemented by active packet source modules. An active packet source, also called a producer, has one output that must be connected to a passive packet sink module. The active packet source is expected to push packets into the connected passive packet sink over time.

IPassivePacketSink module interface

This module interface must be implemented by passive packet sink modules. A passive packet sink, also called a consumer, has one input that must be connected to an active packet source module. The connected active packet source is expected to push packets into the passive packet sink over time.

Properties

Name Value Description
display i=block/sink

Source code

//
// This module interface is implemented by packet shaper modules. A packet
// shaper connects one input to one output. It operates in passive mode both
// on its input and its output. These modules may delay and reorder packets
// but they never modify or drop packets.
//
moduleinterface IPacketShaper extends IPassivePacketSink, IActivePacketSource
{
    parameters:
        @display("i=block/bucket");
}
File: src/inet/queueing/contract/IPacketShaper.ned