PassivePacketSink

Package: inet.queueing.sink

PassivePacketSink

simple module

This module is 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.

Extends

Name Type Description
PassivePacketSinkBase simple module

This is a 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

clockModule string ""

relative path of a module that implements IClock; 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
display i=block/sink
class PassivePacketSink

Gates

Name Direction Size Description
in input

Signals

Name Type Unit
packetPushed inet::Packet

Statistics

Name Title Source Record Unit Interpolation Mode
packetDelayVariation packet delay variation stddev(weightedMeanPerGroup(groupRegionsPerPacket(lifeTimePerRegion(packetPushed)))) vector, histogram s
packetDelayDifferenceToMean packet delay difference to mean differenceToMean(weightedMeanPerGroup(groupRegionsPerPacket(lifeTimePerRegion(packetPushed)))) vector, histogram s none
meanBitLifeTimePerPacket mean bit life time per packet weightedMeanPerGroup(groupRegionsPerPacket(lifeTimePerRegion(packetPushed))) vector, histogram s none
packetLengths packet lengths packetLength(packetPushed) sum, histogram, vector b none
dataRate data rate throughput(packetPushed) vector bps linear
packetJitter packet jitter jitter(weightedMeanPerGroup(groupRegionsPerPacket(lifeTimePerRegion(packetPushed)))) vector, histogram s none
bitLifeTime bit life time weightTimes(lengthWeightedValuePerRegion(lifeTimePerRegion(packetPushed))) histogram? s none
packets packets packetPushed count pk

Scheduled messages (observed)

msgkindctrltagsmsgnamecontext
ClockEvent0ConsumptionTimer

Direct method calls (observed)

call tofunctioninfo
ResidenceTimeMeasurerinet::ResidenceTimeMeasurer::receiveSignalpacketDropped
BehaviorAggregateClassifierinet::BehaviorAggregateClassifier::handleCanPushPacketChangedhandleCanPushPacketChanged
MultiFieldClassifierinet::MultiFieldClassifier::handleCanPushPacketChangedhandleCanPushPacketChanged
ContentBasedClassifierinet::queueing::ContentBasedClassifier::handleCanPushPacketChangedhandleCanPushPacketChanged
LabelClassifierinet::queueing::LabelClassifier::handleCanPushPacketChangedhandleCanPushPacketChanged
MarkovClassifierinet::queueing::MarkovClassifier::handleCanPushPacketChangedhandleCanPushPacketChanged
PacketClassifierinet::queueing::PacketClassifier::handleCanPushPacketChangedhandleCanPushPacketChanged
WrrClassifierinet::queueing::WrrClassifier::handleCanPushPacketChangedhandleCanPushPacketChanged
BackPressureBarrierinet::queueing::BackPressureBarrier::handleCanPushPacketChangedhandleCanPushPacketChanged
OrdinalBasedDuplicatorinet::queueing::OrdinalBasedDuplicator::handleCanPushPacketChangedhandleCanPushPacketChanged
PacketClonerinet::queueing::PacketCloner::handleCanPushPacketChangedhandleCanPushPacketChanged
PacketDelayerinet::queueing::PacketDelayer::handleCanPushPacketChangedhandleCanPushPacketChanged
PacketDuplicatorinet::queueing::PacketDuplicator::handleCanPushPacketChangedhandleCanPushPacketChanged
PacketMultiplexerinet::queueing::PacketMultiplexer::handleCanPushPacketChangedhandleCanPushPacketChanged
ContentBasedFilterinet::queueing::ContentBasedFilter::handleCanPushPacketChangedhandleCanPushPacketChanged
OrdinalBasedDropperinet::queueing::OrdinalBasedDropper::handleCanPushPacketChangedhandleCanPushPacketChanged
StatisticalRateLimiterinet::queueing::StatisticalRateLimiter::handleCanPushPacketChangedhandleCanPushPacketChanged
FlowMeasurementRecorderinet::queueing::FlowMeasurementRecorder::handleCanPushPacketChangedhandleCanPushPacketChanged
PacketGateinet::queueing::PacketGate::handleCanPushPacketChangedhandleCanPushPacketChanged
ContentBasedTaggerinet::queueing::ContentBasedTagger::handleCanPushPacketChangedhandleCanPushPacketChanged
PacketTaggerinet::queueing::PacketTagger::handleCanPushPacketChangedhandleCanPushPacketChanged
PacketServerinet::queueing::PacketServer::handleCanPushPacketChangedhandleCanPushPacketChanged
TokenBasedServerinet::queueing::TokenBasedServer::handleCanPushPacketChangedhandleCanPushPacketChanged
PassivePacketSinkinet::queueing::PassivePacketSink::pushPacketpushPacket
ActivePacketSourceinet::queueing::ActivePacketSource::handleCanPushPacketChangedhandleCanPushPacketChanged
SignalBasedTokenGeneratorinet::queueing::SignalBasedTokenGenerator::receiveSignalpacketDropped
inet.tutorials.queueing.ExampleCompoundPriorityQueueinet::queueing::CompoundPacketQueueBase::receiveSignalpacketDropped

Called methods (observed)

functioninfocall from
inet::queueing::PassivePacketSink::pushPacketpushPacketContentBasedClassifier, LabelClassifier, MarkovClassifier, PacketClassifier, WrrClassifier, BackPressureBarrier, OrdinalBasedDuplicator, PacketCloner, PacketDelayer, PacketDuplicator, PacketMultiplexer, ContentBasedFilter, OrdinalBasedDropper, StatisticalRateLimiter, FlowMeasurementRecorder, PacketGate, ContentBasedTagger, PacketTagger, PacketServer, TokenBasedServer, PassivePacketSink, ActivePacketSource

Incoming messages (observed)

gatemsgkindctrlsrcModuletags
inPacket0UdpSocketIoDscpInd, EcnInd, HopLimitInd, InterfaceInd, L3AddressInd, L4PortInd, NetworkProtocolInd, TosInd, TransportProtocolInd, DirectionTag?, DropEligibleInd?, EncapsulationProtocolInd?, FragmentTag?, MacAddressInd?, PcpInd?, SequenceNumberInd?, StreamInd?, UserPriorityInd?, VlanInd?
inPacket0Ieee80211PortalDispatchProtocolReq, ErrorRateInd, InterfaceInd, MacAddressInd, PacketProtocolTag, SignalPowerInd, SignalTimeInd, SnirInd, Ieee80211ChannelInd, Ieee80211ModeInd
inPacket1TcpClientSocketIo
inPacket1TcpServerSocketIo

Pushed in messages (observed)

gatemsgkindctrlsrcModuletags
inPacket0SingleRateThreeColorMeterDispatchProtocolInd, InterfaceInd, InterfaceReq, MacAddressInd, NetworkProtocolInd, PacketProtocolTag
inPacket0ContentBasedClassifierDirectionTag, PacketProtocolTag
inPacket0LabelClassifierDirectionTag, LabelsTag, PacketProtocolTag
inPacket0MarkovClassifierDirectionTag, PacketProtocolTag
inPacket0PacketClassifierDirectionTag, PacketProtocolTag
inPacket0WrrClassifierDirectionTag, PacketProtocolTag
inPacket0BackPressureBarrierDirectionTag, LabelsTag, PacketProtocolTag, StreamReq
inPacket0OrdinalBasedDuplicatorDirectionTag, PacketProtocolTag
inPacket0PacketClonerDirectionTag, PacketProtocolTag
inPacket0PacketDelayerDirectionTag, PacketProtocolTag
inPacket0PacketDuplicatorDirectionTag, PacketProtocolTag
inPacket0PacketMultiplexerDirectionTag, PacketProtocolTag
inPacket0ContentBasedFilterDirectionTag, PacketProtocolTag
inPacket0OrdinalBasedDropperDirectionTag, PacketProtocolTag
inPacket0StatisticalRateLimiterDirectionTag, PacketProtocolTag, RateTag
inPacket0FlowMeasurementRecorderDirectionTag, DscpInd, EcnInd, EncapsulationProtocolInd, HopLimitInd, InterfaceInd, L3AddressInd, L4PortInd, MacAddressInd, NetworkProtocolInd, TosInd, TransportProtocolInd
inPacket0PacketGateDirectionTag, PacketProtocolTag
inPacket0ContentBasedTaggerDirectionTag, PacketProtocolTag, HopLimitReq?
inPacket0PacketTaggerDirectionTag, HopLimitReq, PacketProtocolTag
inPacket0PacketServerDirectionTag, PacketProtocolTag, EligibilityTimeTag?
inPacket0TokenBasedServerDirectionTag, PacketProtocolTag
inPacket0ActivePacketSourceDirectionTag, PacketProtocolTag

Packet operations (observed)

chunkTypepacketAction
peekData

Region Tagging operations (observed)

tagTypetagAction
CreationTimeTaggetAllTags

Source code

//
// This module is 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