Package: inet.queueing.scheduler
LabelScheduler
simple moduleThis module schedules 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 |
|---|---|---|
| PacketSchedulerBase | simple module |
This is a base module for various packet scheduler modules. Derived modules must implement a single packet scheduler function which determines the index of the input gate for the pulled packet. |
Parameters
| Name | Type | Default value | Description |
|---|---|---|---|
| displayStringTextFormat | string | "scheduled %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 |
| labels | string |
space separated list of labels in the order of priority (highest first) |
Properties
| Name | Value | Description |
|---|---|---|
| display | i=block/join | |
| class | LabelScheduler |
Gates
| Name | Direction | Size | Description |
|---|---|---|---|
| in [ ] | input | ||
| out | output |
Signals
| Name | Type | Unit |
|---|---|---|
| packetPulled | inet::Packet |
Statistics
| Name | Title | Source | Record | Unit | Interpolation Mode |
|---|---|---|---|---|---|
| packetLengths | packet lengths | packetLength(packetPulled) | sum, histogram, vector | b | none |
| dataRate | data rate | throughput(packetPulled) | vector | bps | linear |
| packets | packets | packetPulled | count | pk |
Source code
// // This module schedules packets based on the attached labels in a ~LabelsTag. // simple LabelScheduler extends PacketSchedulerBase like IPacketScheduler { parameters: int defaultGateIndex = default(0); // default gate index if no matching labels are found string labels; // space separated list of labels in the order of priority (highest first) @class(LabelScheduler); }File: src/inet/queueing/scheduler/LabelScheduler.ned