PacketScheduler¶
Package: inet.queueing.scheduler
simple module PacketScheduler
Connects one packet collector to multiple packet providers. When the packet collector pulls a pull packet from it, the scheduler pulls a packet from one of its packet providers based on the configured scheduler function. The packet scheduler function takes a list of packet providers and returns an integer which in turn is used for determining the input gate.
Inheritance diagram¶
Extends¶
Name |
Type |
Description |
|---|---|---|
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 |
|
schedulerClass |
string |
Determines the input queue of the packet, the parameter must be the name of a C++ class which implements the IPacketSchedulerFunction interface and is registered via Register_Class |
Properties¶
Name |
Value |
Description |
|---|---|---|
class |
PacketScheduler |
|
display |
i=block/join |
Gates¶
Name |
Direction |
Size |
Description |
|---|---|---|---|
in [ ] |
input |
||
out |
output |
Signals¶
Name |
Type |
Unit |
Description |
|---|---|---|---|
packetPulled |
Statistics¶
Name |
Title |
Source |
Record |
Unit |
Interpolation Mode |
Description |
|---|---|---|---|---|---|---|
dataRate |
data rate |
throughput(packetPulled) |
vector |
bps |
linear |
the statistical value is the data rate of the scheduled packets |
packetLengths |
packet lengths |
packetLength(packetPulled) |
sum,histogram,vector |
b |
none |
the statistical value is the length of the scheduled packet |
packets |
packets |
packetPulled |
count |
pk |
the statistical value is the scheduled packet |
Source code¶
//
// Connects one packet collector to multiple packet providers. When
// the packet collector pulls a pull packet from it, the scheduler pulls
// a packet from one of its packet providers based
// on the configured scheduler function. The packet scheduler function takes a
// list of packet providers and returns an integer which in turn is used for
// determining the input gate.
//
simple PacketScheduler extends PacketSchedulerBase like IPacketScheduler
{
parameters:
string schedulerClass; // Determines the input queue of the packet, the parameter must be the name of a C++ class which implements the IPacketSchedulerFunction interface and is registered via Register_Class
@class(PacketScheduler);
}