PacketProcessorBase

Package: inet.queueing.base

simple module PacketProcessorBase

Base module for various packet processing modules which maintains a few statistics.

Available display string text format directives:

  • %p - number of processed packets

  • %l - total processed packet length

inet.queueing.base.PacketProcessorBasePacketProcessorBasesimple

Inheritance diagram

Known subclasses

Name

Type

Description

MessageDispatcher

simple module

Facilitates the interconnection of applications, protocols, and network interfaces, dispatching messages and packets among them. It supports diverse configurations, ranging from layered architectures with distinct message dispatchers for separate communication layers, to centralized structures where a single dispatcher manages connections to all components.

DscpMarker

simple module

Sets the DSCP field (lower six bit of Tos/TrafficClass) of IP datagrams to the value specified by the dscps parameter.

PacketMeterBase

simple module

(no description)

InterpacketGapInserter

simple module

Enforces a minimum time gap between consecutive packets, which is important for protocols like Ethernet that require an interpacket gap (IPG) or interframe spacing. This module delays packet transmission to ensure the configured minimum gap duration is maintained between packets. It can optionally use an external clock module for timing, and supports packet streaming.

PacketDestreamer

simple module

Takes packets streamed to its input and passes them to its output.

PacketStreamer

simple module

Takes packets passed to its input and streams them to its output.

PreemptableStreamer

simple module

Takes packets passed to its input and streams them to its output.

PacketReceiverBase

simple module

(no description)

PacketTransmitterBase

simple module

(no description)

PacketBufferBase

simple module

Base module for various packet buffer modules which maintains a few statistics.

PacketClassifierBase

simple module

Base module for various packet classifier modules. Derived modules must implement a single packet classifier function which determines the index of the output gate for the next pushed packet.

PacketDelayerBase

simple module

Base module for packet delayer implementations. Provides common functionality for delaying packets for a specified amount of time before forwarding them. Supports clock synchronization, scheduling priorities, and zero-delay handling. Adds delay-related tags to packets for tracking and analysis.

PacketDuplicatorBase

simple module

Base type for packet duplicator implementations. Provides common functionality for creating and forwarding multiple copies of incoming packets.

PacketFilterBase

simple module

Base module for various packet filter modules. Derived modules must implement a single packet matcher function which determines if a packet is to be passed through or filtered out.

PacketFlowBase

simple module

Base module for various packet flow modules. A packet flow module passes or streams all pushed or pulled packets after processing them from its input to its output.

PacketPullerBase

simple module

Base module for various packet puller modules.

PacketPusherBase

simple module

Base module for various packet pusher modules.

PacketQueueBase

simple module

Base module for various packet queue modules which maintains a few statistics.

PacketSchedulerBase

simple module

Base module for various packet scheduler modules. Derived modules must implement a single packet scheduler function which determines the index of the input gate for the pulled packet.

PacketServerBase

simple module

Base module for various packet server modules.

PacketSinkBase

simple module

Base module for various packet sink modules.

PacketSourceBase

simple module

Base module for various packet source modules. Packets are created randomly with regard to packet length and packet data. The representation of packet data can also be configured.

TokenGeneratorBase

simple module

Base module for various token generator modules.

PacketCloner

simple module

Connects one packet producer to one packet consumer. It can be pushed with packets from the connected packet producer. When this happens, a separate copy of the packet is pushed to each output gate.

PacketDemultiplexer

simple 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.

PacketMultiplexer

simple module

Connects multiple packet producers to one packet consumer. When a packet is pushed by one of the connected packet producers, then the multiplexer simply pushes the packet to the connected packet consumer.

PacketSendToPush

simple module

Adapter module that converts packet sending to packet pushing. When it receives a packet as a message through its input gate, it pushes the packet to the connected consumer module through its output gate. Serves as a bridge between different packet handling mechanisms in protocol stacks and packet processing pipelines.

FullPacketSink

simple module

An active/passive full packet sink. It doesn’t pull packets from the connected module, and it doesn’t allow packets to be pushed by the connected module. The input gate generates backpressure for push packet operations.

EmptyPacketSource

simple module

An active/passive empty packet source. It doesn’t push packets into the connected module, and it doesn’t allow packets to be pulled from it by the connected module. The output gate generates backpressure for pull packet operations.

Extends

Name

Type

Description

SimpleModule

simple module

Base module for all INET simple modules.

Parameters

Name

Type

Default value

Description

displayStringTextFormat

string

“processed {numProcessedPackets} pk ({processedTotalLength})”

Determines the text that is written on top of the submodule, supports displaying pars, watches, and module-specific information

Properties

Name

Value

Description

class

PacketProcessorBase

display

i=block/star

Source code

//
// Base module for various packet processing modules which maintains
// a few statistics.
//
// Available display string text format directives:
// - %p - number of processed packets
// - %l - total processed packet length
//
simple PacketProcessorBase extends SimpleModule
{
    parameters:
        @class(PacketProcessorBase);
        displayStringTextFormat = default("processed {numProcessedPackets} pk ({processedTotalLength})"); // Determines the text that is written on top of the submodule
        @display("i=block/star");
}

File: src/inet/queueing/base/PacketProcessorBase.ned