Package: inet.linklayer.configurator.gatescheduling.contract
IGateScheduleConfigurator
module interfaceInterface for gate scheduling configurator modules. A gate scheduling configurator is responsible for configuring all ~PeriodicGate modules of all traffic categories in all network interfaces in the network.
Inheritance diagram
The following diagram shows inheritance relationships for this type. Unresolved types are missing from the diagram.
Implemented by
| Name | Type | Description |
|---|---|---|
| AlwaysOpenGateScheduleConfigurator | simple module |
Provides a trivial gate scheduling algorithm that keeps all gates in the network open all the time. |
| EagerGateScheduleConfigurator | simple module |
Provides a gate scheduling algorithm that eagerly reserves time slots for the configured streams in the order of their priority (0 being the lowest). The allocation makes sure that only one gate (traffic category) is open in all network interfaces at any given moment of time. This strategy may result in wasting too much time of the gate cycle and thus end up failing. |
| TSNschedGateScheduleConfigurator | simple module |
Provides a gate scheduling configurator that uses the TSNsched tool which is available at https://github.com/ACassimiro/TSNsched. Tested revision: 3f3bf663d196ec6c03e81a1e1392d4aefd158e3e |
| Z3GateScheduleConfigurator | simple module |
Provides a gate scheduling algorithm that uses the open source z3 SAT solver from Microsoft. In order to be able to use this module, the corresponding 'Z3 Gate Scheduling Configurator' feature must be enabled and the libz3-dev package must be installed. |
Used in
| Name | Type | Description |
|---|---|---|
| TsnNetworkBase | network |
Serves as a network base module for Time-Sensitive Networking (TSN). |
Extends
| Name | Type | Description |
|---|---|---|
| INetworkConfigurator | module interface |
Interface for all network-wide configurator modules. |
Properties
| Name | Value | Description |
|---|---|---|
| display | i=block/cogwheel |
Source code
// // Interface for gate scheduling configurator modules. // A gate scheduling configurator is responsible for configuring all ~PeriodicGate // modules of all traffic categories in all network interfaces in the network. // moduleinterface IGateScheduleConfigurator extends INetworkConfigurator { parameters: @display("i=block/cogwheel"); }File: src/inet/linklayer/configurator/gatescheduling/contract/IGateScheduleConfigurator.ned