PassivePacketSinkBase¶
Package: inet.queueing.base
simple module PassivePacketSinkBase
Base module for various active packet sink modules.
See also: PacketSinkBase
Inheritance diagram¶
Known subclasses¶
Name |
Type |
Description |
|---|---|---|
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. |
|
simple module |
A passive packet sink which is pushed with packets by the connected packet producer. All pushed packets are counted and deleted. |
|
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 |
|---|---|---|
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 |
|||
packetPushed |
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);
}