IPacketGate

Package: inet.queueing.contract

module interface IPacketGate

Interface for a packet gate. A packet gate connects one input to one output. It can operate in both active and passive mode. Packets can be pushed into its input or packets can be pulled from its output.

Usage diagram

Inheritance diagram

Implemented by

Name

Type

Description

Ieee8021qAsynchronousShaper

compound module

Implements the IEEE 802.1Q asynchronous shaper. An alias for the EligibilityTimeGate module.

Ieee8021qCreditBasedGate

simple module

A packet gate that can be used to implement the IEEE 802.1q credit-based shaper algorithm in combination with a packet queue.

Ieee8021qCreditBasedShaper

compound module

Implements the IEEE 802.1Q credit-based shaper.

EligibilityTimeGate

simple module

A packet gate that operates based on the EligibilityTimeTag attached to the next packet waiting to be pulled through. The gate is closed if the eligibility time is greater than the current simulation time, otherwise, it is open.

CreditBasedGate

simple module

A packet gate that operates based on the number of credits it contains. The gate is open if the number of credits is greater than the configured transmit credit limit, otherwise it is closed. The module attaches a CreditGateTag to all packets that pass through. The attached tag allows the gate module to determine if a packet belongs to it when the packet is eventually transmitted.

InteractiveGate

simple module

This packet gate module allows or forbids packets to pass through depending on whether the gate is open or closed as specified by the parameter. The gate can also be controlled by the user by manually changing the open parameter from the graphical user interface while the simulation is paused.

OmittedPacketGate

compound module

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

PacketGate

simple module

Allows or forbids packets to pass through depending on whether the gate is open or closed.

PeriodicGate

simple module

Allows or forbids packets to pass through depending on whether the gate is open or closed. The gate is open and closed according to the list of change times periodically.

Used in compound modules

Name

Type

Description

EthernetFragmentingMacLayer

compound module

(no description)

Ieee8021qTimeAwareShaper

compound module

Implements the IEEE 802.1Q time aware shaper.

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.

Extends

Name

Type

Description

IPacketSink

module interface

Interface for packet sink modules which are both passive and active simultaneously.

IPacketSource

module interface

Interface for packet source modules which are both active and passive simultaneously.

Properties

Name

Value

Description

display

i=block/star

omittedTypename

OmittedPacketGate

Source code

//
// Interface for a packet gate. A packet gate connects
// one input to one output. It can operate in both active and passive mode.
// Packets can be pushed into its input or packets can be pulled from its
// output.
//
moduleinterface IPacketGate extends IPacketSink, IPacketSource
{
    parameters:
        @omittedTypename(OmittedPacketGate);
        @display("i=block/star");
}

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