IPacketServer

Package: inet.queueing.contract

IPacketServer

module interface

This module interface is implemented by packet server modules. A packet server is an active module which has one active input and one active output. Packets are pulled from the connected input module and pushed into the connected output module with an optional delay but without reordering.

Inheritance diagram

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

Implemented by

Name Type Description
InstantServer simple module

This module repeatedly pulls packets from the connected packet provider and pushes the packet into the connected packet consumer without delay.

OmittedPacketServer compound module

This module implements the module given interface and can be used as an omitted optional module that removes itself from the module hierarchy during initialize.

PacketServer simple module

This module repeatedly pulls packets from the connected packet provider and after a processing delay it pushes the packet into the connected packet consumer. The processing delay is processingTime + packetLength / processingBitrate.

PreemptingServer simple module (no description)
TokenBasedServer simple module

This module repeatedly pulls packets from the connected packet provider and it pushes them into the connected packet consumer. The packets are processed in zero simulation time, and the process continues until the available number of tokens is not sufficient anymore.

Used in compound modules

Name Type Description
DataService compound module (no description)
EthernetMacLayer compound module (no description)
LeakyBucket compound module

This module implements a parameterizable leaky bucket algorithm.

QueueFiller compound module

This module produces packets in order to prevent a queue from becoming empty.

QueueingPacketDelayer compound module (no description)
RequestConsumer compound module

This module processes incoming packets one by one in the order they arrive. First it classifies a packet according to the configured classifier function, then it generates tokens for the selected category in the configured response producer.

TelnetServerConnection compound module

This module contains a configurable pre-composed telnet traffic source and traffic sink as part of a telnet server application.

TokenBucket compound module

This module implements a parameterizable token bucket algorithm.

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.

IActivePacketSink module interface

This module interface must be implemented by active packet sink modules. An active packet sink, also called a collector, has one input that must be connected to a passive packet source module. The active packet sink is expected to pull packets from the connected passive packet source over time.

Properties

Name Value Description
display i=block/server
omittedTypename OmittedPacketServer

Source code

//
// This module interface is implemented by packet server modules. A packet
// server is an active module which has one active input and one active output.
// Packets are pulled from the connected input module and pushed into the
// connected output module with an optional delay but without reordering.
//
moduleinterface IPacketServer extends IActivePacketSink, IActivePacketSource
{
    parameters:
        @omittedTypename(OmittedPacketServer);
        @display("i=block/server");
}
File: src/inet/queueing/contract/IPacketServer.ned