Package: inet.linklayer.ieee80211.mac.queue
PendingQueue
simple 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 |
---|---|---|
DropTailQueue | simple module |
This module is a limited packet queue which drops packets at the tail of the queue. |
Parameters
Name | Type | Default value | Description |
---|---|---|---|
displayStringTextFormat | string | "contains %p pk (%l) pushed %u\npulled %o removed %r dropped %d" |
determines the text that is written on top of the submodule |
packetCapacity | int | 100 |
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 | "inet::queueing::PacketAtCollectionEndDropper" |
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 |
comparatorClass | string | "inet::ieee80211::MgmtOverDataComparator" |
determines the order of packets in the queue, insertion order by default; the parameter must be the name of a C++ class which implements the IPacketComparatorFunction C++ interface and is registered via Register_Class |
bufferModule | string | "" |
relative module path to the IPacketBuffer module used by this queue, implicit buffer by default |
Properties
Name | Value | Description |
---|---|---|
display | i=block/queue | |
class | PacketQueue | |
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(packetPushEnded) + sum(packetLength(packetPushStarted)) - sum(packetLength(packetPulled)) - sum(packetLength(packetRemoved)) - sum(packetLength(packetDropped)))) | last, max, timeavg, vector | b | sample-hold |
queueLength | queue length | warmup(atomic(constant0(packetPushEnded) + count(packetPushStarted) - count(packetPulled) - count(packetRemoved) - count(packetDropped))) | last, max, timeavg, vector | pk | sample-hold |
droppedPacketsQueueOverflow | dropped packets: queue overflow | packetDropReasonIsQueueOverflow(packetDropped) | count | pk | none |
queueingTime | queueing times | queueingTime(packetPulled) | histogram, vector | s | none |
incomingDataRate | incoming datarate | throughput(packetPushStarted) | vector | bps | linear |
flowQueueingTime | flow queueing times | queueingTime(demuxFlow(packetPulled)) | histogram, vector | s | none |
incomingPacketLengths | incoming packet lengths | packetLength(packetPushStarted) | sum, histogram, vector | b | none |
flowIncomingDataRate | flow specific incoming data rate | throughput(flowPacketLength(demuxFlow(packetPushStarted))) | vector | bps | linear |
outgoingDataRate | outgoing datarate | throughput(packetPulled) | vector | bps | linear |
outgoingPacketLengths | outgoing packet lengths | packetLength(packetPulled) | sum, histogram, vector | b | none |
droppedPacketLengthsQueueOverflow | dropped packet lengths: queue overflow | packetLength(packetDropReasonIsQueueOverflow(packetDropped)) | sum, vector | b | none |
flowOutgoingDataRate | flow specific outgoing data rate | throughput(flowPacketLength(demuxFlow(packetPulled))) | vector | bps | linear |
incomingPackets | incoming packets | packetPushStarted | count | pk | |
outgoingPackets | outgoing packets | packetPulled | count | pk |
Called methods (observed)
function | info | call from |
---|---|---|
inet::queueing::PacketQueue::pullPacket | pullPacket | OriginatorMacDataService, OriginatorQosMacDataService |
inet::queueing::PacketQueue::pushPacket | pushPacket | Dcf, Hcf |
inet::queueing::PacketQueue::removePacket | removePacket | OriginatorQosMacDataService |
Pull in messages (observed)
gate | msg | kind | ctrl | srcModule | tags |
---|---|---|---|---|---|
out | Packet | 0 | PendingQueue | DirectionTag?, DispatchProtocolInd?, DispatchProtocolReq?, EcnInd?, ErrorRateInd?, Ieee80211SubtypeReq?, Ieee802SapInd?, Ieee802SapReq?, InterfaceInd?, InterfaceReq?, MacAddressInd?, MacAddressReq?, MulticastReq?, NetworkProtocolInd?, NextHopAddressReq?, PacketProtocolTag?, SignalPowerInd?, SignalTimeInd?, SnirInd?, SocketReq?, TransportProtocolInd?, UserPriorityReq?, LlcProtocolTag?, Ieee80211ChannelInd?, Ieee80211ModeInd? |
Pulled out messages (observed)
gate | msg | kind | ctrl | destModule | tags |
---|---|---|---|---|---|
out | Packet | 0 | PendingQueue | DirectionTag?, DispatchProtocolInd?, DispatchProtocolReq?, EcnInd?, ErrorRateInd?, Ieee80211SubtypeReq?, Ieee802SapInd?, Ieee802SapReq?, InterfaceInd?, InterfaceReq?, MacAddressInd?, MacAddressReq?, MulticastReq?, NetworkProtocolInd?, NextHopAddressReq?, PacketProtocolTag?, SignalPowerInd?, SignalTimeInd?, SnirInd?, SocketReq?, TransportProtocolInd?, UserPriorityReq?, LlcProtocolTag?, Ieee80211ChannelInd?, Ieee80211ModeInd? |
Packet operations (observed)
chunkType | packetAction |
---|---|
Ieee80211MacHeader | peekAtFront |
Region Tagging operations (observed)
tagType | tagAction |
---|---|
FlowTag | mapAllTags |
PacketEventTag | mapAllTagsForUpdate |
QueueingTimeTag | mapAllTagsForUpdate |
Source code
simple PendingQueue extends DropTailQueue { parameters: comparatorClass = default("inet::ieee80211::MgmtOverDataComparator"); // MgmtOverDataComparator, MgmtOverMulticastOverUnicastComparator, ... packetCapacity = default(100); }File: src/inet/linklayer/ieee80211/mac/queue/PendingQueue.ned