Package: inet.queueing.scheduler
PriorityScheduler
simple moduleThis scheduler pulls packets from the first non-empty among its connected packet providers.
Inheritance diagram
The following diagram shows inheritance relationships for this type. Unresolved types are missing from the diagram.
Used in compound modules
| Name | Type | Description |
|---|---|---|
| CompoundPendingQueue | compound module |
Implements a prioritized queue system for IEEE 802.11 MAC frames. Uses a classifier to separate incoming packets into three queues: management frames (highest priority), multicast frames (medium priority), and unicast frames (lowest priority). A priority scheduler then selects packets from these queues in order of priority. |
| DiffservQueue | compound module |
This is an example queue that can be used in interfaces of DS core and edge nodes to support the AFxy (RFC 2597) and EF (RFC 3246) PHBs. |
| DSQueue1 | compound module |
Diffserv Queue used in Experiment 1.1 - 1.6 and 5.1. |
| EthernetPreemptingMacLayer | compound module | (no description) |
| ExampleCompoundPriorityQueue | compound module | (no description) |
Used in
| Name | Type | Description |
|---|---|---|
| PrioritySchedulerTutorialStep | network | (no description) |
Extends
| Name | Type | Description |
|---|---|---|
| PacketSchedulerBase | simple module |
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, supports displaying pars, watches, and module-specific information |
| reverseOrder | bool | false |
Properties
| Name | Value | Description |
|---|---|---|
| class | PriorityScheduler | |
| display | i=block/join |
Gates
| Name | Direction | Size | Description |
|---|---|---|---|
| in [ ] | input | ||
| out | output |
Signals
| Name | Type | Unit | Description |
|---|---|---|---|
| packetPulled | inet::Packet |
Statistics
| Name | Title | Source | Record | Unit | Interpolation Mode | Description |
|---|---|---|---|---|---|---|
| packetLengths | packet lengths | packetLength(packetPulled) | sum, histogram, vector | b | none |
the statistical value is the length of the scheduled packet |
| dataRate | data rate | throughput(packetPulled) | vector | bps | linear |
the statistical value is the data rate of the scheduled packets |
| packets | packets | packetPulled | count | pk |
the statistical value is the scheduled packet |
Source code
// // This scheduler pulls packets from the first non-empty among its connected // packet providers. // simple PriorityScheduler extends PacketSchedulerBase like IPacketScheduler { parameters: @class(PriorityScheduler); }File: src/inet/queueing/scheduler/PriorityScheduler.ned