SubpacketLengthHeaderBasedAggregator

Package: inet.protocolelement.aggregation

SubpacketLengthHeaderBasedAggregator

compound module

Aggregates multiple packets into a single packet by inserting a length field header before each subpacket. This module collects packets according to the aggregation policy and combines them into a single aggregated packet. Each subpacket is preceded by a SubpacketLengthHeader that contains the length of the following subpacket, allowing the receiver to extract individual packets.

aggregatorPolicy : like IAggregatorPolicy

LengthBasedAggregatorPolicy: A policy for aggregating subpackets based on their length

IAggregatorPolicy: Interface for aggregator policy modules that determine when packets can be aggregated.

Source:
aggregatorPolicy: <default("LengthBasedAggregatorPolicy")> like IAggregatorPolicy if typename != "" {
    parameters:
        @display("p=100,100");
}

Inheritance diagram

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

Used in compound modules

Name Type Description
DataService compound module (no description)
DataService compound module (no description)

Extends

Name Type Description
AggregatorBase compound module

Base module for packet aggregation. Collects multiple packets and combines them into a single aggregated packet based on a configurable aggregation policy. Aggregation improves network efficiency by reducing header overhead when transmitting multiple small packets. The module delegates the aggregation decision to a policy class or module that determines if a packet can be aggregated with the current set.

Parameters

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

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

deleteSelf bool false
aggregatorPolicyClass string ""
aggregatorPolicyModule string ".aggregatorPolicy"

Only used if aggregatorPolicyClass==""

Properties

Name Value Description
class SubpacketLengthHeaderBasedAggregator
display i=block/join

Gates

Name Direction Size Description
in input
out output

Source code

//
// Aggregates multiple packets into a single packet by inserting a length field
// header before each subpacket. This module collects packets according to the
// aggregation policy and combines them into a single aggregated packet. Each
// subpacket is preceded by a SubpacketLengthHeader that contains the length of
// the following subpacket, allowing the receiver to extract individual packets.
//
module SubpacketLengthHeaderBasedAggregator extends AggregatorBase like IPacketAggregator
{
    parameters:
        @class(SubpacketLengthHeaderBasedAggregator);
}
File: src/inet/protocolelement/aggregation/SubpacketLengthHeaderBasedAggregator.ned