IPacketDelayer

Package: inet.queueing.contract

module interface IPacketDelayer

Interface for packet delayers.

Usage diagram

Inheritance diagram

Implemented by

Name

Type

Description

EthernetCutthroughBarrier

simple module

(no description)

OmittedPacketDelayer

compound module

Implements the given module interface and can be used as an optional module that removes itself from the module hierarchy during initialization.

PacketDelayer

simple module

Connects one packet producer to one packet consumer. It can be pushed with packets from the connected packet producer. When this happens, the packet is delayed and eventually pushed to the output. Note that the order of packets may change if the delay parameter is configured to be a distribution.

QueueingPacketDelayer

compound module

Compound module that delays packets for a specified amount of time while preserving their order. Implements the IPacketDelayer interface using a queue and server architecture. The queue stores packets while they wait, and the server processes each packet with a processing time equal to the configured delay. Note that the actual packet delay will be the sum of the queueing time and the configured delay. Unlike the simple PacketDelayer module, this implementation always maintains packet order regardless of delay distribution.

Used in compound modules

Name

Type

Description

DirectionReverserLayer

compound module

Provides a layer that combines the decision for local delivery with the service of reversing the direction of an incoming packet to outgoing for packet forwarding.

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/delay

omittedTypename

OmittedPacketDelayer

Source code

//
// Interface for packet delayers.
//
moduleinterface IPacketDelayer extends IPassivePacketSink, IActivePacketSource
{
    parameters:
        @omittedTypename(OmittedPacketDelayer);
        @display("i=block/delay");
}

File: src/inet/queueing/contract/IPacketDelayer.ned