Package: inet.queueing.sink
PassivePacketSink
simple moduleThis 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)
msg | kind | ctrl | tags | msgname | context |
---|---|---|---|---|---|
ClockEvent | 0 | ConsumptionTimer |
Direct method calls (observed)
call to | function | info |
---|---|---|
ResidenceTimeMeasurer | inet::ResidenceTimeMeasurer::receiveSignal | packetDropped |
BehaviorAggregateClassifier | inet::BehaviorAggregateClassifier::handleCanPushPacketChanged | handleCanPushPacketChanged |
MultiFieldClassifier | inet::MultiFieldClassifier::handleCanPushPacketChanged | handleCanPushPacketChanged |
ContentBasedClassifier | inet::queueing::ContentBasedClassifier::handleCanPushPacketChanged | handleCanPushPacketChanged |
LabelClassifier | inet::queueing::LabelClassifier::handleCanPushPacketChanged | handleCanPushPacketChanged |
MarkovClassifier | inet::queueing::MarkovClassifier::handleCanPushPacketChanged | handleCanPushPacketChanged |
PacketClassifier | inet::queueing::PacketClassifier::handleCanPushPacketChanged | handleCanPushPacketChanged |
WrrClassifier | inet::queueing::WrrClassifier::handleCanPushPacketChanged | handleCanPushPacketChanged |
BackPressureBarrier | inet::queueing::BackPressureBarrier::handleCanPushPacketChanged | handleCanPushPacketChanged |
OrdinalBasedDuplicator | inet::queueing::OrdinalBasedDuplicator::handleCanPushPacketChanged | handleCanPushPacketChanged |
PacketCloner | inet::queueing::PacketCloner::handleCanPushPacketChanged | handleCanPushPacketChanged |
PacketDelayer | inet::queueing::PacketDelayer::handleCanPushPacketChanged | handleCanPushPacketChanged |
PacketDuplicator | inet::queueing::PacketDuplicator::handleCanPushPacketChanged | handleCanPushPacketChanged |
PacketMultiplexer | inet::queueing::PacketMultiplexer::handleCanPushPacketChanged | handleCanPushPacketChanged |
ContentBasedFilter | inet::queueing::ContentBasedFilter::handleCanPushPacketChanged | handleCanPushPacketChanged |
OrdinalBasedDropper | inet::queueing::OrdinalBasedDropper::handleCanPushPacketChanged | handleCanPushPacketChanged |
StatisticalRateLimiter | inet::queueing::StatisticalRateLimiter::handleCanPushPacketChanged | handleCanPushPacketChanged |
FlowMeasurementRecorder | inet::queueing::FlowMeasurementRecorder::handleCanPushPacketChanged | handleCanPushPacketChanged |
PacketGate | inet::queueing::PacketGate::handleCanPushPacketChanged | handleCanPushPacketChanged |
ContentBasedTagger | inet::queueing::ContentBasedTagger::handleCanPushPacketChanged | handleCanPushPacketChanged |
PacketTagger | inet::queueing::PacketTagger::handleCanPushPacketChanged | handleCanPushPacketChanged |
PacketServer | inet::queueing::PacketServer::handleCanPushPacketChanged | handleCanPushPacketChanged |
TokenBasedServer | inet::queueing::TokenBasedServer::handleCanPushPacketChanged | handleCanPushPacketChanged |
PassivePacketSink | inet::queueing::PassivePacketSink::pushPacket | pushPacket |
ActivePacketSource | inet::queueing::ActivePacketSource::handleCanPushPacketChanged | handleCanPushPacketChanged |
SignalBasedTokenGenerator | inet::queueing::SignalBasedTokenGenerator::receiveSignal | packetDropped |
inet.tutorials.queueing.ExampleCompoundPriorityQueue | inet::queueing::CompoundPacketQueueBase::receiveSignal | packetDropped |
Called methods (observed)
function | info | call from |
---|---|---|
inet::queueing::PassivePacketSink::pushPacket | pushPacket | ContentBasedClassifier, LabelClassifier, MarkovClassifier, PacketClassifier, WrrClassifier, BackPressureBarrier, OrdinalBasedDuplicator, PacketCloner, PacketDelayer, PacketDuplicator, PacketMultiplexer, ContentBasedFilter, OrdinalBasedDropper, StatisticalRateLimiter, FlowMeasurementRecorder, PacketGate, ContentBasedTagger, PacketTagger, PacketServer, TokenBasedServer, PassivePacketSink, ActivePacketSource |
Incoming messages (observed)
Pushed in messages (observed)
Packet operations (observed)
chunkType | packetAction |
---|---|
peekData |
Region Tagging operations (observed)
tagType | tagAction |
---|---|
CreationTimeTag | getAllTags |
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