Package: inet.queueing.sink
PassivePacketSink
simple moduleA 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