ActivePacketSinkBase¶
Package: inet.queueing.base
simple module ActivePacketSinkBase
Base module for various active packet sink modules.
See also: PacketSinkBase
Inheritance diagram¶
Known subclasses¶
Name |
Type |
Description |
|---|---|---|
simple module |
An active packet sink which pulls packets from the connected module. It pulls whole packets through the in gate at every collection interval. It pulls the first packet after the initial collection offset. |
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 |
ActivePacketSinkBase |
|
display |
i=block/sink |
Signals¶
Name |
Type |
Unit |
Description |
|---|---|---|---|
packetDropped |
|||
packetPulled |
Statistics¶
Name |
Title |
Source |
Record |
Unit |
Interpolation Mode |
Description |
|---|---|---|---|---|---|---|
bitLifeTime |
bit life time |
weightTimes(lengthWeightedValuePerRegion(lifeTimePerRegion(packetPulled))) |
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(packetPulled) |
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 |
|
meanBitLifeTimePerPacket |
mean bit life time per packet |
weightedMeanPerGroup(groupRegionsPerPacket(lifeTimePerRegion(packetPulled))) |
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 |
packetDelayDifferenceToMean |
packet delay difference to mean |
differenceToMean(weightedMeanPerGroup(groupRegionsPerPacket(lifeTimePerRegion(packetPulled)))) |
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(packetPulled)))) |
vector,histogram |
s |
the statistical value is the variation of the mean bit elapsed time per packet |
|
packetJitter |
packet jitter |
jitter(weightedMeanPerGroup(groupRegionsPerPacket(lifeTimePerRegion(packetPulled)))) |
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(packetPulled) |
sum,histogram,vector |
b |
none |
the statistical value is the length of the packet |
packetLifeTime |
packet life time |
packetLifeTime(packetPulled) |
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 |
packetPulled |
count |
pk |
the statistical value is the packet |
Source code¶
//
// Base module for various active packet sink modules.
//
// @see ~PacketSinkBase
//
simple ActivePacketSinkBase extends PacketSinkBase
{
parameters:
@class(ActivePacketSinkBase);
@signal[packetPulled](type=inet::Packet);
// the statistical value is the packet
@statistic[packets](title="packets"; source=packetPulled; record=count; unit=pk);
// the statistical value is the length of the packet
@statistic[packetLengths](title="packet lengths"; source=packetLength(packetPulled); 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(packetPulled); 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(packetPulled))); 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(packetPulled))); 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(packetPulled); 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(packetPulled)))); 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(packetPulled)))); 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(packetPulled)))); record=vector,histogram; unit=s);
}