LabelClassifier

Package: inet.queueing.classifier

LabelClassifier

simple module

This 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 tofunctioninfo
ContentBasedLabelerinet::queueing::ContentBasedLabeler::handleCanPushPacketChangedhandleCanPushPacketChanged
PassivePacketSinkinet::queueing::PassivePacketSink::pushPacketpushPacket

Called methods (observed)

functioninfocall from
inet::queueing::LabelClassifier::handleCanPushPacketChangedhandleCanPushPacketChangedPassivePacketSink
inet::queueing::LabelClassifier::pushPacketpushPacketContentBasedLabeler

Pushed in messages (observed)

gatemsgkindctrlsrcModuletags
inPacket0ContentBasedLabelerDirectionTag, LabelsTag, PacketProtocolTag

Push out messages (observed)

gatemsgkindctrldestModuletags
out[]Packet0PassivePacketSinkDirectionTag, LabelsTag, PacketProtocolTag

Shared Tagging operations (observed)

tagTypetagAction
LabelsTaggetTag

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