Package: inet.linklayer.ethernet.modular
EthernetPriorityQueue
compound module(no description)
Inheritance diagram
The following diagram shows inheritance relationships for this type. Unresolved types are missing from the diagram.
Extends
| Name | Type | Description |
|---|---|---|
| PriorityQueue | compound module |
This module implements a priority queue with multiple inner queues and an optional shared memory buffer. |
Parameters
| Name | Type | Default value | Description |
|---|---|---|---|
| displayStringTextFormat | string | "contains %p pk (%l) pushed %u created %c\n pulled %o removed %r dropped %d" |
determines the text that is written on top of the submodule |
| packetCapacity | int | -1 |
maximum number of packets in the queue, no limit by default |
| dataCapacity | int | -1b |
maximum total length of packets in the queue, no limit by default |
| dropperClass | string | "" |
determines which packets are dropped when the queue is overloaded, packets are not dropped by default; the parameter must be the name of a C++ class which implements the IPacketDropperFunction C++ interface and is registered via Register_Class |
| numQueues | int |
Properties
| Name | Value | Description |
|---|---|---|
| display | i=block/queue | |
| class | CompoundPacketQueueBase | |
| defaultStatistic | queueLength:vector |
Gates
| Name | Direction | Size | Description |
|---|---|---|---|
| in | input | ||
| out | output |
Signals
| Name | Type | Unit |
|---|---|---|
| packetRemoved | inet::Packet | |
| packetPushStarted | inet::Packet | |
| packetDropped | inet::Packet | |
| packetPushEnded | inet::Packet? | |
| packetPulled | inet::Packet |
Statistics
| Name | Title | Source | Record | Unit | Interpolation Mode |
|---|---|---|---|---|---|
| queueBitLength | queue bit length | warmup(atomic(constant0(localSignal(packetPushEnded)) + sum(packetLength(localSignal(packetPushStarted))) - sum(packetLength(localSignal(packetPulled))) - sum(packetLength(localSignal(packetRemoved))) - sum(packetLength(localSignal(packetDropped))))) | last, max, timeavg, vector | b | sample-hold |
| queueLength | queue length | warmup(atomic(constant0(localSignal(packetPushEnded)) + count(localSignal(packetPushStarted)) - count(localSignal(packetPulled)) - count(localSignal(packetRemoved)) - count(localSignal(packetDropped)))) | last, max, timeavg, vector | pk | sample-hold |
| droppedPacketsQueueOverflow | dropped packets: queue overflow | packetDropReasonIsQueueOverflow(localSignal(packetDropped)) | count | pk | none |
| queueingTime | queueing times | queueingTime(localSignal(packetPulled)) | histogram, vector | s | none |
| incomingDataRate | incoming datarate | throughput(localSignal(packetPushStarted)) | vector | bps | linear |
| flowQueueingTime | flow queueing times | queueingTime(demuxFlow(localSignal(packetPulled))) | histogram, vector | s | none |
| incomingPacketLengths | incoming packet lengths | packetLength(localSignal(packetPushStarted)) | sum, histogram, vector | b | none |
| flowIncomingDataRate | flow specific incoming data rate | throughput(flowPacketLength(demuxFlow(localSignal(packetPushStarted)))) | vector | bps | linear |
| outgoingDataRate | outgoing datarate | throughput(localSignal(packetPulled)) | vector | bps | linear |
| outgoingPacketLengths | outgoing packet lengths | packetLength(localSignal(packetPulled)) | sum, histogram, vector | b | none |
| droppedPacketLengthsQueueOverflow | dropped packet lengths: queue overflow | packetLength(packetDropReasonIsQueueOverflow(localSignal(packetDropped))) | sum, vector | b | none |
| flowOutgoingDataRate | flow specific outgoing data rate | throughput(flowPacketLength(demuxFlow(localSignal(packetPulled)))) | vector | bps | linear |
| incomingPackets | incoming packets | localSignal(packetPushStarted) | count | pk | |
| outgoingPackets | outgoing packets | localSignal(packetPulled) | count | pk |
Source code
module EthernetPriorityQueue extends PriorityQueue { parameters: classifier.reverseOrder = default(true); classifier.classifierClass = default("inet::queueing::PacketUserPriorityIndClassifier"); }File: src/inet/linklayer/ethernet/modular/EthernetPriorityQueue.ned