Package: inet.queueing.contract
IActivePacketSink
module interfaceThis 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.
See also: ActivePacketSink, PacketServer, PacketScheduler, IPassivePacketSource
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 pulls packets from the connected module. It pulls whole packets through the in gate at every collection interval. It pulls the first packet after the initial collection offset. |
FullPacketSink | simple module |
This module is an active/passive full packet sink. It doesn't pull packets from the connected module, and the it doesn't allow packets to be pusehd by the connected module. The input gate generates backpressure for push packet operations. |
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. |
PacketDemultiplexer | simple module |
This module connects multiple packet collectors to one packet provider. When a packet is pulled by one of the connected packet collectors, then the demultiplexer simply pulls a packet from the connected packet provider. |
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. |
Known subclasses
Name | Type | Description |
---|---|---|
IPacketPuller | module interface |
This module interface is implemented by packet pullers. A packet puler connects one input to one output. Packets can be pulled from its output and it pulls packets from its input. |
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. |
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 pull 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(pull); }File: src/inet/queueing/contract/IActivePacketSink.ned