Package: inet.queueing.classifier
LabelClassifier
simple moduleThis module classifies packets based on the attached labels in a LabelsTag.
Inheritance diagram
The following diagram shows inheritance relationships for this type. Unresolved types are missing from the diagram.
Extends
Name | Type | Description |
---|---|---|
PacketClassifierBase | simple module |
This is a base module for various packet classifier modules. Derived modules must implement a single packet classifier function which determines the index of the output gate for the next pushed packet. |
Parameters
Name | Type | Default value | Description |
---|---|---|---|
displayStringTextFormat | string | "classified %p pk (%l)" |
determines the text that is written on top of the submodule |
reverseOrder | bool | false | |
defaultGateIndex | int | 0 |
default gate index if no matching labels are found |
labelsToGateIndices | string |
space separated list of label and gate index pairs |
Properties
Name | Value | Description |
---|---|---|
display | i=block/classifier | |
class | LabelClassifier |
Gates
Name | Direction | Size | Description |
---|---|---|---|
in | input | ||
out [ ] | output |
Signals
Name | Type | Unit |
---|---|---|
packetPushed | inet::Packet |
Statistics
Name | Title | Source | Record | Unit | Interpolation Mode |
---|---|---|---|---|---|
packetLengths | packet lengths | packetLength(packetPushed) | sum, histogram, vector | b | none |
dataRate | data rate | throughput(packetPushed) | vector | bps | linear |
packets | packets | packetPushed | count | pk |
Direct method calls (observed)
call to | function | info |
---|---|---|
ContentBasedLabeler | inet::queueing::ContentBasedLabeler::handleCanPushPacketChanged | handleCanPushPacketChanged |
PassivePacketSink | inet::queueing::PassivePacketSink::pushPacket | pushPacket |
Called methods (observed)
function | info | call from |
---|---|---|
inet::queueing::LabelClassifier::handleCanPushPacketChanged | handleCanPushPacketChanged | PassivePacketSink |
inet::queueing::LabelClassifier::pushPacket | pushPacket | ContentBasedLabeler |
Pushed in messages (observed)
gate | msg | kind | ctrl | srcModule | tags |
---|---|---|---|---|---|
in | Packet | 0 | ContentBasedLabeler | DirectionTag, LabelsTag, PacketProtocolTag |
Push out messages (observed)
gate | msg | kind | ctrl | destModule | tags |
---|---|---|---|---|---|
out[] | Packet | 0 | PassivePacketSink | DirectionTag, LabelsTag, PacketProtocolTag |
Shared Tagging operations (observed)
tagType | tagAction |
---|---|
LabelsTag | getTag |
Source code
// // This module classifies packets based on the attached labels in a ~LabelsTag. // simple LabelClassifier extends PacketClassifierBase like IPacketClassifier { parameters: int defaultGateIndex = default(0); // default gate index if no matching labels are found string labelsToGateIndices; // space separated list of label and gate index pairs @class(LabelClassifier); }File: src/inet/queueing/classifier/LabelClassifier.ned