IOutputQueue

Package: inet.common.queue

IOutputQueue

module interface

Module interface for output queues. Concrete queues can implement drop-tail, RED etc. policy.

The implementation of IOutputQueue can be either a simple module whose C++ class implements (i.e. subclass from) IPassiveQueue, or a compound module whose out gate is connected to a simple module implementing the IPassiveQueue interface. The IPassiveQueue component should send a packet whenever a module asks for one by calling the requestPacket() method.

See also: DropTailQueue

IOutputQueue

Used in compound modules

Name Type Description
AckingWirelessInterface compound module

Highly abstracted wireless NIC that consists of a unit disk radio and a trivial MAC protocol. It offers simplicity for scenarios where Layer 1 and 2 effects can be completely ignored, for example testing the basic functionality of a wireless ad-hoc routing protocol.

EthernetInterface compound module

Ethernet network interface. Complements EtherMac and EtherEncap with an output queue for QoS and RED support.

EtherQosQueue compound module

Queue module that gives the PAUSE frames a higher priority, and can be parametrized with an IOutputQueue for serving the other frames.

ExtUpperEthernetInterface compound module

This module provides an Ethernet network interface suitable for emulation. The upper part of the network interface is realized in the real world using a real TAP device of the host computer which is running the simulation.

Ieee802154UwbIrInterface compound module (no description)
PppInterface compound module

PPP interface. Complements the PPP module with an output queue for QoS and RED support.

Properties

Name Value Description
display i=block/queue

Source code

//
// Module interface for output queues. Concrete queues can implement
// drop-tail, RED etc. policy.
//
// The implementation of IOutputQueue
// can be either a simple module whose C++ class implements
// (i.e. subclass from) IPassiveQueue, or a compound module
// whose out gate is connected to a simple module implementing
// the IPassiveQueue interface. The IPassiveQueue component
// should send a packet whenever a module asks for one
// by calling the requestPacket() method.
//
// @see ~DropTailQueue
//
moduleinterface IOutputQueue
{
    parameters:
        @display("i=block/queue");
    gates:
        input in;
        output out;
}

File: src/inet/common/queue/IOutputQueue.ned