AlwaysOpenGateScheduleConfigurator

Package: inet.linklayer.configurator.gatescheduling.common

AlwaysOpenGateScheduleConfigurator

simple module

C++ definition

Provides a trivial gate scheduling algorithm that keeps all gates in the network open all the time.

Inheritance diagram

The following diagram shows inheritance relationships for this type. Unresolved types are missing from the diagram.

Extends

Name Type Description
GateScheduleConfiguratorBase simple module

Serves as a basis for gate scheduling configurator modules. It provides methods for derived modules to easily extract the input parameters from the network topology and also to carry out the actual configuration of the resulting schedule. The schedule is automatically configured in all of the ~PeriodicGate submodules of all queue submodules in the network interface MAC layer submodules. Besides, the application start offsets are also configured. This allows the derived modules to focus on the implementation of the actual scheduling algorithm.

Parameters

Name Type Default value Description
displayStringTextFormat string ""

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

gateCycleDuration double

The globally used gate scheduling period in each PeriodicGate module

configuration object []

Array of objects, see ~GateScheduleConfiguratorBase module documentation for more details example: [{name: "s1", type: "unicast", application: "app[0]", pcp: 0, gateIndex: 0, source: "wheel*", destination: "hud", packetLength: 100B, packetInterval: 5ms, maxLatency: 100us, maxJitter: 10us, pathFragments: [["a", "b", "c"]]}]

Properties

Name Value Description
class AlwaysOpenGateScheduleConfigurator
display i=block/cogwheel

Source code

//
// Provides a trivial gate scheduling algorithm that keeps all gates
// in the network open all the time.
//
simple AlwaysOpenGateScheduleConfigurator extends GateScheduleConfiguratorBase like IGateScheduleConfigurator
{
    parameters:
        @class(AlwaysOpenGateScheduleConfigurator);
}

File: src/inet/linklayer/configurator/gatescheduling/common/AlwaysOpenGateScheduleConfigurator.ned