Package: inet.queueing.contract
IPacketServer
module interfaceInterface for 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 |
Repeatedly pulls packets from the connected packet provider and pushes the packet into the connected packet consumer without delay. |
| OmittedPacketServer | compound module |
Implements the given interface and can be used as an optional module that removes itself from the module hierarchy during initialization. |
| PacketServer | simple 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 |
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) |
| DataService | compound module | (no description) |
| EthernetMacLayer | compound module | (no description) |
| LeakyBucket | compound module |
Implements a parameterizable leaky bucket algorithm. |
| QueueFiller | compound module |
Produces packets in order to prevent a queue from becoming empty. |
| QueueingPacketDelayer | compound module |
Compound module that delays packets for a specified amount of time while preserving their order. Implements the IPacketDelayer interface using a queue and server architecture. The queue stores packets while they wait, and the server processes each packet with a processing time equal to the configured delay. Note that the actual packet delay will be the sum of the queueing time and the configured delay. Unlike the simple PacketDelayer module, this implementation always maintains packet order regardless of delay distribution. |
| RequestConsumer | compound 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 |
Contains a configurable pre-composed telnet traffic source and traffic sink as part of a telnet server application. |
| TelnetServerTraffic | compound module | (no description) |
| TokenBucket | compound module |
Implements a parameterizable token bucket algorithm. |
Extends
| Name | Type | Description |
|---|---|---|
| IActivePacketSink | module interface |
Interface for 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. |
| IActivePacketSource | module interface |
Interface for 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. |
Properties
| Name | Value | Description |
|---|---|---|
| omittedTypename | OmittedPacketServer | |
| display | i=block/source |
Source code
// // Interface for 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