ContentBasedSchedulerTutorialStep

Package: inet.tutorials.queueing

ContentBasedSchedulerTutorialStep

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");
} scheduler : ContentBasedScheduler

Connects one packet collector to multiple packet providers.

Source:
scheduler: ContentBasedScheduler {
    @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,300

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

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.defaultGateIndex int 0

Default gate index if no matching labels are found

scheduler.packetFilters object

Array of packet filter expressions

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 ContentBasedSchedulerTutorialStep
{
    @display("bgb=600,300");
    submodules:
        provider1: PassivePacketSource {
            @display("p=100,100");
        }
        provider2: PassivePacketSource {
            @display("p=100,200");
        }
        scheduler: ContentBasedScheduler {
            @display("p=300,100");
        }
        collector: ActivePacketSink {
            @display("p=500,100");
        }
    connections allowunconnected:
        provider1.out --> scheduler.in++;
        provider2.out --> scheduler.in++;
        scheduler.out --> collector.in;
}

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

File: tutorials/queueing/QueueingTutorial.ned