PassivePacketSinkBase

Package: inet.queueing.base

PassivePacketSinkBase

simple module

C++ definition

Base module for various active packet sink modules.

<b>See also:</b> ~PacketSinkBase

Inheritance diagram

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

Known subclasses

Name Type Description
PacketPushToSend simple module

Acts as an adapter between the queueing framework and standard OMNeT++ modules. It receives packets through the push mechanism (as a passive packet sink) and forwards them using the standard OMNeT++ send operation. This module is useful for connecting queueing components to non-queueing modules that expect to receive packets via message sending.

PassivePacketSink simple module

A passive packet sink which is pushed with packets by the connected packet producer. All pushed packets are counted and deleted.

PcapFilePacketConsumer simple module

A passive packet sink which is pushed with packets by the connected packet producer. All pushed packets are written to a PCAP file.

Extends

Name Type Description
PacketSinkBase simple module

Base module for various packet sink modules.

Parameters

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

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

Properties

Name Value Description
class PassivePacketSinkBase
display i=block/sink

Signals

Name Type Unit Description
packetPushed inet::Packet

Statistics

Name Title Source Record Unit Interpolation Mode Description
packetDelayVariation packet delay variation stddev(weightedMeanPerGroup(groupRegionsPerPacket(lifeTimePerRegion(packetPushed)))) vector, histogram s

the statistical value is the variation of the mean bit elapsed time per packet

outOfOrderPackets out of order packets outOfOrderPacket(packetPushed) count? pk

the statistical value is the packet, packet name must have an index suffix (e.g. Foo-42)

packetDelayDifferenceToMean packet delay difference to mean differenceToMean(weightedMeanPerGroup(groupRegionsPerPacket(lifeTimePerRegion(packetPushed)))) vector, histogram s none

the statistical value is the difference of the current and the mean bit elapsed time per packet

outOfOrderPacketLengths out of order packet lenghts packetLength(outOfOrderPacket(packetPushed)) vector? b none

the statistical value is the length of the packet, packet name must have an index suffix (e.g. Foo-42)

duplicatePackets duplicate packets duplicatePacket(packetPushed) count? pk

the statistical value is the packet, packet name must have an index suffix (e.g. Foo-42)

dataRate data rate throughput(packetPushed) vector bps linear

the statistical value is the data rate of the packets

missingPacketIndices missing packet indices missingPacketIndex(packetPushed) count? pk

the statistical value is the packet index, packet name must have an index suffix (e.g. Foo-42)

bitLifeTime bit life time weightTimes(lengthWeightedValuePerRegion(lifeTimePerRegion(packetPushed))) histogram? s none

the statistical value is the time difference of the current simulation time and the creation time of the bit

packets packets packetPushed count pk

the statistical value is the packet

duplicatePacketLengths duplicate packet lengths packetLength(duplicatePacket(packetPushed)) vector? b none

the statistical value is the length of the packet, packet name must have an index suffix (e.g. Foo-42)

packetLifeTime packet life time packetLifeTime(packetPushed) vector, histogram s none

the statistical value is the time difference of the current simulation time and the creation time of the whole packet data, nan if not all bits have the same value

meanBitLifeTimePerPacket mean bit life time per packet weightedMeanPerGroup(groupRegionsPerPacket(lifeTimePerRegion(packetPushed))) vector, histogram s none

the statistical value is the time difference of the current simulation time and the creation time of any bit in the region

packetLengths packet lengths packetLength(packetPushed) sum, histogram, vector b none

the statistical value is the length of the packet

packetJitter packet jitter jitter(weightedMeanPerGroup(groupRegionsPerPacket(lifeTimePerRegion(packetPushed)))) vector, histogram s none

the statistical value is the difference of subsequent values of the mean bit elapsed time per packet

Source code

//
// Base module for various active packet sink modules.
//
// @see ~PacketSinkBase
//
simple PassivePacketSinkBase extends PacketSinkBase
{
    parameters:
        @class(PassivePacketSinkBase);
        @signal[packetPushed](type=inet::Packet);
        // the statistical value is the packet
        @statistic[packets](title="packets"; source=packetPushed; record=count; unit=pk);
        // the statistical value is the packet, packet name must have an index suffix (e.g. Foo-42)
        @statistic[duplicatePackets](title="duplicate packets"; source=duplicatePacket(packetPushed); record=count?; unit=pk);
        // the statistical value is the length of the packet, packet name must have an index suffix (e.g. Foo-42)
        @statistic[duplicatePacketLengths](title="duplicate packet lengths"; source=packetLength(duplicatePacket(packetPushed)); record=vector?; unit=b; interpolationmode=none);
        // the statistical value is the packet, packet name must have an index suffix (e.g. Foo-42)
        @statistic[outOfOrderPackets](title="out of order packets"; source=outOfOrderPacket(packetPushed); record=count?; unit=pk);
        // the statistical value is the length of the packet, packet name must have an index suffix (e.g. Foo-42)
        @statistic[outOfOrderPacketLengths](title="out of order packet lenghts"; source=packetLength(outOfOrderPacket(packetPushed)); record=vector?; unit=b; interpolationmode=none);
        // the statistical value is the packet index, packet name must have an index suffix (e.g. Foo-42)
        @statistic[missingPacketIndices](title="missing packet indices"; source=missingPacketIndex(packetPushed); record=count?; unit=pk);
        // the statistical value is the length of the packet
        @statistic[packetLengths](title="packet lengths"; source=packetLength(packetPushed); record=sum,histogram,vector; unit=b; interpolationmode=none);
        // the statistical value is the data rate of the packets
        @statistic[dataRate](title="data rate"; source=throughput(packetPushed); record=vector; unit=bps; interpolationmode=linear);
        // the statistical value is the time difference of the current simulation time and the creation time of the bit
        @statistic[bitLifeTime](title="bit life time"; source=weightTimes(lengthWeightedValuePerRegion(lifeTimePerRegion(packetPushed))); record=histogram?; unit=s; interpolationmode=none);
        // the statistical value is the time difference of the current simulation time and the creation time of any bit in the region
        @statistic[meanBitLifeTimePerPacket](title="mean bit life time per packet"; source=weightedMeanPerGroup(groupRegionsPerPacket(lifeTimePerRegion(packetPushed))); record=vector,histogram; unit=s; interpolationmode=none);
        // the statistical value is the time difference of the current simulation time and the creation time of the whole packet data, nan if not all bits have the same value
        @statistic[packetLifeTime](title="packet life time"; source=packetLifeTime(packetPushed); record=vector,histogram; unit=s; interpolationmode=none);
        // the statistical value is the difference of subsequent values of the mean bit elapsed time per packet
        @statistic[packetJitter](title="packet jitter"; source=jitter(weightedMeanPerGroup(groupRegionsPerPacket(lifeTimePerRegion(packetPushed)))); record=vector,histogram; unit=s; interpolationmode=none);
        // the statistical value is the difference of the current and the mean bit elapsed time per packet
        @statistic[packetDelayDifferenceToMean](title="packet delay difference to mean"; source=differenceToMean(weightedMeanPerGroup(groupRegionsPerPacket(lifeTimePerRegion(packetPushed)))); record=vector,histogram; unit=s; interpolationmode=none);
        // the statistical value is the variation of the mean bit elapsed time per packet
        @statistic[packetDelayVariation](title="packet delay variation"; source=stddev(weightedMeanPerGroup(groupRegionsPerPacket(lifeTimePerRegion(packetPushed)))); record=vector,histogram; unit=s);
}
File: src/inet/queueing/base/PassivePacketSinkBase.ned