PacketProcessorBase

Package: inet.queueing.base

PacketProcessorBase

simple module

This is a base module for various packet processing modules which maintains a few statistics.

Available display string text format directives:

  • %p - number of processed packets
  • %l - processed total packet length

Inheritance diagram

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

Known subclasses

Name Type Description
DscpMarker simple module

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

EmptyPacketSource simple module

This module is 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.

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.

InterpacketGapInserter simple module (no description)
MessageDispatcher simple module

This module connects multiple applications, protocols and interfaces with each other and automatically dispatches messages and packets between them. It allows many different configurations from layered architectures where message dispatchers separate different communication layers to centralized architectures where a single message dispatcher is connected to all components.

PacketBufferBase simple module

This is a base module for various packet buffer modules which maintains a few statistics.

PacketClassifierBase simple module

This is a 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.

PacketCloner simple module

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

PacketDelayerBase simple module (no description)
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.

PacketDestreamer simple module

This module takes packets streamed to its input and passes them to its output.

PacketDuplicatorBase simple module (no description)
PacketFilterBase simple module

This is a 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

This is a 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.

PacketMeterBase simple module (no description)
PacketMultiplexer simple module

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

PacketPullerBase simple module

This is a base module for various packet puller modules.

PacketPusherBase simple module

This is a base module for various packet pusher modules.

PacketQueueBase simple module

This is a base module for various packet queue modules which maintains a few statistics.

PacketReceiverBase simple module (no description)
PacketSchedulerBase simple module

This is a 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.

PacketSendToPush simple module (no description)
PacketServerBase simple module

This is a base module for various packet server modules.

PacketSinkBase simple module

This is a base module for various packet sink modules.

PacketSourceBase simple module

This is a 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.

PacketStreamer simple module

This module takes packets passed to its input and streams them to its output.

PacketTransmitterBase simple module (no description)
PreemptableStreamer simple module

This module takes packets passed to its input and streams them to its output.

TokenGeneratorBase simple module

This is a base module for various token generator modules.

Parameters

Name Type Default value Description
displayStringTextFormat string "processed %p pk (%l)"

determines the text that is written on top of the submodule

Properties

Name Value Description
display i=block/star

Source code

//
// This is a base module for various packet processing modules which maintains
// a few statistics.
//
// Available display string text format directives:
// - %p - number of processed packets
// - %l - processed total packet length
//
simple PacketProcessorBase
{
    parameters:
        string displayStringTextFormat = default("processed %p pk (%l)"); // determines the text that is written on top of the submodule
        @display("i=block/star");
}
File: src/inet/queueing/base/PacketProcessorBase.ned