Package: inet.queueing.base
PassivePacketSinkBase
simple moduleBase 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