WrrSchedulerTutorialStep

Package: inet.tutorials.queueing

WrrSchedulerTutorialStep

network

(no description)

provider1 : PassivePacketSource

A passive packet source which can be pulled for packets from the connected packet collector.

Source:
provider1: PassivePacketSource {
    @display("p=100,100");
} provider2 : PassivePacketSource

A passive packet source which can be pulled for packets from the connected packet collector.

Source:
provider2: PassivePacketSource {
    @display("p=100,200");
} provider3 : PassivePacketSource

A passive packet source which can be pulled for packets from the connected packet collector.

Source:
provider3: PassivePacketSource {
    @display("p=100,300");
} scheduler : WrrScheduler

Implements weighted round-robin scheduling.

Source:
scheduler: WrrScheduler {
    @display("p=300,100");
} collector : ActivePacketSink

An active packet sink which pulls packets from the connected module.

Source:
collector: ActivePacketSink {
    @display("p=500,100");
}

Usage diagram

The following diagram shows usage relationships between types. Unresolved types are missing from the diagram.

Properties

Name Value Description
isNetwork
display bgb=600,400

Unassigned submodule parameters

Name Type Default value Description
provider1.displayStringTextFormat string "created %p pk (%l)"

Determines the text that is written on top of the submodule, supports displaying pars, watches, and module-specific information

provider1.packetNameFormat string "%a-%c"

See directives in module documentation

provider1.packetRepresentation string "byteCount"

Determines the chunk of the packet data

provider1.packetProtocol string "unknown"
provider1.packetLength int
provider1.packetData int -1
provider1.attachCreationTimeTag bool true
provider1.attachIdentityTag bool true
provider1.attachDirectionTag bool true
provider1.clockModule string ""

Relative path of a module that implements IClock(1,2); optional

provider1.initialProvidingOffset double 0s

Initial duration before which packets are not provided

provider1.providingInterval double 0s

Elapsed time between subsequent packets allowed to be pulled by the connected packet collector, 0 means any number of packets can be pulled at the same simulation time

provider1.scheduleForAbsoluteTime bool true

When a clock is used, relative means that setting the clock will not affect the simulation time of the event

provider2.displayStringTextFormat string "created %p pk (%l)"

Determines the text that is written on top of the submodule, supports displaying pars, watches, and module-specific information

provider2.packetNameFormat string "%a-%c"

See directives in module documentation

provider2.packetRepresentation string "byteCount"

Determines the chunk of the packet data

provider2.packetProtocol string "unknown"
provider2.packetLength int
provider2.packetData int -1
provider2.attachCreationTimeTag bool true
provider2.attachIdentityTag bool true
provider2.attachDirectionTag bool true
provider2.clockModule string ""

Relative path of a module that implements IClock(1,2); optional

provider2.initialProvidingOffset double 0s

Initial duration before which packets are not provided

provider2.providingInterval double 0s

Elapsed time between subsequent packets allowed to be pulled by the connected packet collector, 0 means any number of packets can be pulled at the same simulation time

provider2.scheduleForAbsoluteTime bool true

When a clock is used, relative means that setting the clock will not affect the simulation time of the event

provider3.displayStringTextFormat string "created %p pk (%l)"

Determines the text that is written on top of the submodule, supports displaying pars, watches, and module-specific information

provider3.packetNameFormat string "%a-%c"

See directives in module documentation

provider3.packetRepresentation string "byteCount"

Determines the chunk of the packet data

provider3.packetProtocol string "unknown"
provider3.packetLength int
provider3.packetData int -1
provider3.attachCreationTimeTag bool true
provider3.attachIdentityTag bool true
provider3.attachDirectionTag bool true
provider3.clockModule string ""

Relative path of a module that implements IClock(1,2); optional

provider3.initialProvidingOffset double 0s

Initial duration before which packets are not provided

provider3.providingInterval double 0s

Elapsed time between subsequent packets allowed to be pulled by the connected packet collector, 0 means any number of packets can be pulled at the same simulation time

provider3.scheduleForAbsoluteTime bool true

When a clock is used, relative means that setting the clock will not affect the simulation time of the event

scheduler.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

scheduler.reverseOrder bool false
scheduler.weights string
collector.displayStringTextFormat string "received %p pk (%l)"

Determines the text that is written on top of the submodule, supports displaying pars, watches, and module-specific information

collector.clockModule string ""

Relative path of a module that implements IClock(1,2); optional

collector.initialCollectionOffset double -1s

Initial duration before which packets are not collected, negative value means: try the first collection in initialize()

collector.collectionInterval double

Elapsed time between subsequent packets pulled from the connected packet provider

collector.scheduleForAbsoluteTime bool true

When a clock is used, relative means that setting the clock will not affect the simulation time of the event

Source code

network WrrSchedulerTutorialStep
{
    @display("bgb=600,400");
    submodules:
        provider1: PassivePacketSource {
            @display("p=100,100");
        }
        provider2: PassivePacketSource {
            @display("p=100,200");
        }
        provider3: PassivePacketSource {
            @display("p=100,300");
        }

        scheduler: WrrScheduler {
            @display("p=300,100");
        }
        collector: ActivePacketSink {
            @display("p=500,100");
        }
    connections allowunconnected:
        provider1.out --> scheduler.in++;
        provider2.out --> scheduler.in++;
        provider3.out --> scheduler.in++;
        scheduler.out --> collector.in;
}

//-------------------------------------------------

File: tutorials/queueing/QueueingTutorial.ned