IActivePacketSink

Package: inet.queueing.contract

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 pop packets from the connected passive packet source over time.

See also: ActivePacketSink, PacketServer, PacketScheduler, IPassivePacketSource

IActivePacketSink

Inheritance diagram

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

Implemented by

Name Type Description
ActivePacketSink simple module

This module is an active packet sink which pops packets from the connected packet provider. All popped packets are counted and deleted.

PacketDemultiplexer simple module

This module connects multiple packet collectors to one packet provider. When a packet is popped by one of the connected packet collectors, then the demultiplexer simply pops a packet from the connected packet provider.

PacketServer simple module

This module repeatedly pops 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.

TokenBasedServer simple module

This module repeatedly pops 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.

Known subclasses

Name Type Description
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 popped from the connected input module and pushed into the connected output module with an optional delay but without reordering.

Properties

Name Value Description
display i=block/sink

Source code

//
// 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 pop packets from the connected passive packet source over time.
//
// @see ~ActivePacketSink, ~PacketServer, ~PacketScheduler, ~IPassivePacketSource
//
moduleinterface IActivePacketSink
{
    parameters:
        @display("i=block/sink");
    gates:
        input in @labels(pop);
}
File: src/inet/queueing/contract/IActivePacketSink.ned