INET Framework for OMNeT++/OMNEST
inet::LengthBasedAggregatorPolicy Class Reference

#include <LengthBasedAggregatorPolicy.h>

Inheritance diagram for inet::LengthBasedAggregatorPolicy:
inet::IAggregatorPolicy

Public Member Functions

virtual bool isAggregatablePacket (Packet *aggregatedPacket, std::vector< Packet * > &aggregatedSubpackets, Packet *newSubpacket) override
 

Protected Member Functions

virtual void initialize (int stage) override
 

Protected Attributes

int minNumSubpackets = -1
 
int maxNumSubpackets = -1
 
b minAggregatedLength = b(-1)
 
b maxAggregatedLength = b(-1)
 

Member Function Documentation

◆ initialize()

void inet::LengthBasedAggregatorPolicy::initialize ( int  stage)
overrideprotectedvirtual
15 {
16  if (stage == INITSTAGE_LOCAL) {
17  minNumSubpackets = par("minNumSubpackets");
18  maxNumSubpackets = par("maxNumSubpackets");
19  minAggregatedLength = b(par("minAggregatedLength"));
20  maxAggregatedLength = b(par("maxAggregatedLength"));
21  }
22 }

◆ isAggregatablePacket()

bool inet::LengthBasedAggregatorPolicy::isAggregatablePacket ( Packet aggregatedPacket,
std::vector< Packet * > &  aggregatedSubpackets,
Packet newSubpacket 
)
overridevirtual

Implements inet::IAggregatorPolicy.

25 {
26 // b aggregatedLength = aggregatedPacket == nullptr ? b(0) : aggregatedPacket->getTotalLength();
27  return (int)aggregatedSubpackets.size() < minNumSubpackets ||
28  aggregatedPacket->getTotalLength() < minAggregatedLength ||
29  ((int)aggregatedSubpackets.size() + 1 <= maxNumSubpackets &&
30  aggregatedPacket->getTotalLength() + newSubpacket->getTotalLength() <= maxAggregatedLength);
31 }

Member Data Documentation

◆ maxAggregatedLength

b inet::LengthBasedAggregatorPolicy::maxAggregatedLength = b(-1)
protected

Referenced by initialize(), and isAggregatablePacket().

◆ maxNumSubpackets

int inet::LengthBasedAggregatorPolicy::maxNumSubpackets = -1
protected

Referenced by initialize(), and isAggregatablePacket().

◆ minAggregatedLength

b inet::LengthBasedAggregatorPolicy::minAggregatedLength = b(-1)
protected

Referenced by initialize(), and isAggregatablePacket().

◆ minNumSubpackets

int inet::LengthBasedAggregatorPolicy::minNumSubpackets = -1
protected

Referenced by initialize(), and isAggregatablePacket().


The documentation for this class was generated from the following files:
inet::LengthBasedAggregatorPolicy::maxNumSubpackets
int maxNumSubpackets
Definition: LengthBasedAggregatorPolicy.h:22
inet::LengthBasedAggregatorPolicy::minAggregatedLength
b minAggregatedLength
Definition: LengthBasedAggregatorPolicy.h:23
inet::INITSTAGE_LOCAL
INET_API InitStage INITSTAGE_LOCAL
Initialization of local state that don't use or affect other modules includes:
inet::units::values::b
value< int64_t, units::b > b
Definition: Units.h:1241
inet::LengthBasedAggregatorPolicy::maxAggregatedLength
b maxAggregatedLength
Definition: LengthBasedAggregatorPolicy.h:24
inet::LengthBasedAggregatorPolicy::minNumSubpackets
int minNumSubpackets
Definition: LengthBasedAggregatorPolicy.h:21