Package: inet.protocolelement.aggregation.base
AggregatorBase
compound moduleBase 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.
<b>See also:</b> DeaggregatorBase
Usage diagram
The following diagram shows usage relationships between types. Unresolved types are missing from the diagram.
Inheritance diagram
The following diagram shows inheritance relationships for this type. Unresolved types are missing from the diagram.
Known subclasses
| Name | Type | Description |
|---|---|---|
| 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. |
Extends
| Name | Type | Description |
|---|---|---|
| PacketPusherBase | simple module |
Base module for various packet pusher modules. |
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 | AggregatorBase | |
| display | i=block/join |
Gates
| Name | Direction | Size | Description |
|---|---|---|---|
| in | input | ||
| out | output |
Source code
// // 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. // // @see DeaggregatorBase // module AggregatorBase extends PacketPusherBase { parameters: bool deleteSelf = default(false); string aggregatorPolicyClass = default(""); string aggregatorPolicyModule = default(".aggregatorPolicy"); // Only used if aggregatorPolicyClass=="" @display("i=block/join"); @class(AggregatorBase); submodules: aggregatorPolicy: <default("LengthBasedAggregatorPolicy")> like IAggregatorPolicy if typename != "" { parameters: @display("p=100,100"); } }File: src/inet/protocolelement/aggregation/base/AggregatorBase.ned