PassivePacketSinkBase

Package: inet.queueing.base

simple module PassivePacketSinkBase

Base module for various active packet sink modules.

See also: PacketSinkBase

inet.queueing.base.PassivePacketSinkBasePassivePacketSinkBasesimple

Inheritance 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

packetDropped

inet::Packet

packetPushed

inet::Packet

Statistics

Name

Title

Source

Record

Unit

Interpolation Mode

Description

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

dataRate

data rate

throughput(packetPushed)

vector

bps

linear

the statistical value is the data rate of the packets

droppedDataRate

dropped data rate

throughput(packetDropped)

vector

bps

linear

the statistical value is the data rate of the dropped packets

droppedPacketLengths

dropped packet lengths

packetLength(packetDropped)

sum,histogram,vector

b

none

the statistical value is the length of the dropped packet

droppedPackets

dropped packets

packetDropped

count

pk

the statistical value is the dropped 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)

duplicatePackets

duplicate packets

duplicatePacket(packetPushed)

count?

pk

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

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

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)

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)

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

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

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

packetLengths

packet lengths

packetLength(packetPushed)

sum,histogram,vector

b

none

the statistical value is the length of the packet

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

packets

packets

packetPushed

count

pk

the statistical value is the 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