Package: inet.queueing.base
PacketMarkerBase
simple moduleThis is a base module for various packet marker modules. Derived modules must implement a single markPacket() function which marks the individual packets by attaching tags.
See also: IPacketMarker, PacketLabeler
Inheritance diagram
The following diagram shows inheritance relationships for this type. Unresolved types are missing from the diagram.
Known subclasses
| Name | Type | Description |
|---|---|---|
| EcnMarker | simple module |
Sets Explicit Congestion Notification (ECN) bits in IPv4 header based on the attached EcnReq tag on the packets. |
| PacketLabeler | simple module |
This module attaches a LabelsTag to packets based on the configured filters. For each matching filter a new label is attached. |
| PacketLabelerBase | simple module |
This is a base module for various packet labeler modules. |
| PacketTaggerBase | simple module |
This is a base module for various packet tagger modules. |
Extends
| Name | Type | Description |
|---|---|---|
| PacketFlowBase | simple module |
This is a base module for various packet flow modules. A packet flow module passes or streams all pushed or pulled packets after processing them from its input to its output. |
Parameters
| Name | Type | Default value | Description |
|---|---|---|---|
| displayStringTextFormat | string | "marked %p pk (%l)" |
determines the text that is written on top of the submodule |
Properties
| Name | Value | Description |
|---|---|---|
| display | i=block/rightarrow | |
| class | PacketMarkerBase |
Gates
| Name | Direction | Size | Description |
|---|---|---|---|
| in | input | ||
| out | output |
Signals
| Name | Type | Unit |
|---|---|---|
| packetPushedIn | inet::Packet | |
| packetPulledIn | inet::Packet | |
| packetPushedOut | inet::Packet | |
| packetPulledOut | inet::Packet |
Statistics
| Name | Title | Source | Record | Unit | Interpolation Mode |
|---|---|---|---|---|---|
| flowIncomingDataRate | flow specific incoming data rate | throughput(demuxFlow(merge(packetPushedIn, packetPulledIn))) | vector | bps | linear |
| outgoingDataRate | outgoing data rate | throughput(merge(packetPushedOut, packetPulledOut)) | vector | bps | linear |
| incomingDataRate | incoming data rate | throughput(merge(packetPushedIn, packetPulledIn)) | vector | bps | linear |
| outgoingPacketLengths | outgoing packet lengths | packetLength(merge(packetPushedOut, packetPulledOut)) | sum, histogram, vector | b | none |
| flowIncomingPacketLengths | flow specific incoming packet lengths | packetLength(demuxFlow(merge(packetPushedIn, packetPulledIn))) | sum, histogram, vector | b | none |
| flowOutgoingDataRate | flow specific outgoing data rate | throughput(demuxFlow(merge(packetPushedOut, packetPulledOut))) | vector | bps | linear |
| incomingPacketLengths | incoming packet lengths | packetLength(merge(packetPushedIn, packetPulledIn)) | sum, histogram, vector | b | none |
| flowOutgoingPacketLengths | flow specific outgoing packet lengths | packetLength(demuxFlow(merge(packetPushedOut, packetPulledOut))) | sum, histogram, vector | b | none |
| incomingPackets | incoming packets | merge(packetPushedIn, packetPulledIn) | count | pk | |
| outgoingPackets | outgoing packets | merge(packetPushedOut, packetPulledOut) | count | pk |
Source code
// // This is a base module for various packet marker modules. Derived modules must // implement a single markPacket() function which marks the individual packets // by attaching tags. // // @see ~IPacketMarker, ~PacketLabeler // simple PacketMarkerBase extends PacketFlowBase { parameters: displayStringTextFormat = default("marked %p pk (%l)"); @class(PacketMarkerBase); }File: src/inet/queueing/base/PacketMarkerBase.ned