PassivePacketSink

Package: inet.queueing.sink

PassivePacketSink

simple module

C++ definition

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

Inheritance diagram

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

Used in compound modules

Name Type Description
DiffservQueue compound module

This is an example queue that can be used in interfaces of DS core and edge nodes to support the AFxy (RFC 2597) and EF (RFC 3246) PHBs.

DiffservTrafficConditioner compound module

TODO documentation

ExampleCompoundPriorityQueue compound module (no description)
ExampleHost compound module (no description)
ReceiverHost compound module (no description)
ServerHost1 compound module (no description)
ServerHost2 compound module (no description)
ServerHost3 compound module (no description)
ServerHost4 compound module (no description)
ServerHost5 compound module (no description)
ServerHost6 compound module (no description)
ServerHost7 compound module (no description)
TC3 compound module

Traffic conditioner used in Experiment 3.2.

TrafficConditioner compound module

TODO documentation

WirelessAPWithSink compound module

Well, this models a 802.11 Access Point with a Sink.

Used in

Name Type Description
ClonerTutorialStep network (no description)
ContentBasedClassifierTutorialStep network (no description)
ContentBasedTaggerTutorialStep network (no description)
DelayerTutorialStep network (no description)
DuplicatorTutorialStep network (no description)
Filter1TutorialStep network (no description)
Gate1TutorialStep network (no description)
GenericClassifierTutorialStep network (no description)
InputQueueSwitching network (no description)
LabelerTutorialStep network (no description)
LeakyBucketTutorialStep network (no description)
MarkovClassifierTutorialStep network (no description)
MeterTutorialStep network (no description)
MultiplexerTutorialStep network (no description)
OrdinalBasedDropperTutorialStep network (no description)
OrdinalBasedDuplicatorTutorialStep network (no description)
OutputQueueSwitching network (no description)
PacketBasedTokenGeneratorTutorialStep network (no description)
PeekingUnderTheHoodShowcase network (no description)
PeekingUnderTheHoodShowcase network (no description)
ProducerConsumerTutorialStep network (no description)
RequestResponseTutorialStep network (no description)
ServerTutorialStep network (no description)
SignalBasedTokenGeneratorTutorialStep network (no description)
TaggerTutorialStep network (no description)
TimeBasedTokenGeneratorTutorialStep network (no description)
TokenBasedServerTutorialStep network (no description)
TokenBucketTutorialStep network (no description)
WrrClassifierTutorialStep network (no description)

Extends

Name Type Description
PassivePacketSinkBase simple module

Base module for various active 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

clockModule string ""

Relative path of a module that implements IClock(1,2); optional

initialConsumptionOffset double 0s

Initial duration before which packets are not consumed

consumptionInterval double 0s

Elapsed time between subsequent packets allowed to be pushed by the connected packet producer, 0 means any number of packets can be pushed at the same simulation time

scheduleForAbsoluteTime bool true

When a clock is used, "relative" means that setting the clock will not affect the simulation time of the event

Properties

Name Value Description
class PassivePacketSink
display i=block/sink

Gates

Name Direction Size Description
in input

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

//
// A passive packet sink which is pushed with packets by the
// connected packet producer. All pushed packets are counted and deleted.
//
simple PassivePacketSink extends PassivePacketSinkBase like IPassivePacketSink
{
    parameters:
        string clockModule = default(""); // Relative path of a module that implements IClock; optional
        double initialConsumptionOffset @unit(s) = default(0s); // Initial duration before which packets are not consumed
        volatile double consumptionInterval @unit(s) = default(0s); // Elapsed time between subsequent packets allowed to be pushed by the connected packet producer, 0 means any number of packets can be pushed at the same simulation time
        bool scheduleForAbsoluteTime = default(true); // When a clock is used, "relative" means that setting the clock will not affect the simulation time of the event
        @class(PassivePacketSink);
    gates:
        input in @labels(push);
}

File: src/inet/queueing/sink/PassivePacketSink.ned