IPacketShaper

Package: inet.queueing.contract

module interface IPacketShaper

Interface for 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

Implemented by

Name

Type

Description

AsynchronousShaper

compound module

Implements an asynchronous shaper. The queue sorts packets based on the transmission eligibility time (EligibilityTimeTag) attached to each packet. The gate prevents packets from being transmitted earlier than the attached transmission eligibility time.

CreditBasedShaper

compound module

Implements a credit-based shaper using a gate submodule to manage the number of credits.

PacketShaper

compound 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

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

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

Extends

Name

Type

Description

IPassivePacketSink

module interface

Interface for 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.

IActivePacketSource

module interface

Interface for 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.

Properties

Name

Value

Description

display

i=block/bucket

Source code

//
// Interface for 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