Package: inet.queueing.buffer
PriorityBuffer
simple moduleThis buffer drops packets among the connected packet queues based on their module id.
Inheritance diagram
The following diagram shows inheritance relationships for this type. Unresolved types are missing from the diagram.
Extends
Name | Type | Description |
---|---|---|
PacketBuffer | simple module |
This module provides packet storage for sharing and optimizing storage space between multiple packet queues. When a packet buffer becomes overloaded, the packet dropping strategy can drop any number of packets from any number of connected packet queues. |
Parameters
Name | Type | Default value | Description |
---|---|---|---|
displayStringTextFormat | string | "contains %p pk (%l)\nadded %a removed %r dropped %d" |
determines display string text above 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::PacketWithHighestOwnerModuleIdDropper" |
determines which packets are dropped when the buffer 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 |
Properties
Name | Value | Description |
---|---|---|
display | i=block/buffer | |
class | PacketBuffer |
Gates
Name | Direction | Size | Description |
---|---|---|---|
in | input | ||
out | output |
Signals
Name | Type | Unit |
---|---|---|
packetRemoved | inet::Packet | |
packetDropped | inet::Packet | |
packetAdded | inet::Packet |
Statistics
Name | Title | Source | Record | Unit | Interpolation Mode |
---|---|---|---|---|---|
packetRemoved | packets removed | count, sum(packetBytes), vector(packetBytes) | none | ||
packetDropQueueOverflow | packet drops: queue overflow | packetDropReasonIsQueueOverflow(packetDropped) | count, sum(packetBytes), vector(packetBytes) | none | |
packetAdded | packets added | count, sum(packetBytes), vector(packetBytes) | none |
Source code
// // This buffer drops packets among the connected packet queues based on their // module id. // simple PriorityBuffer extends PacketBuffer { parameters: packetCapacity = default(100); dropperClass = default("inet::queueing::PacketWithHighestOwnerModuleIdDropper"); }File: src/inet/queueing/buffer/PriorityBuffer.ned