Interface Dispatcher

All Superinterfaces:
Lifecycle

public interface Dispatcher
extends Lifecycle
This interface declares the methods a dispatcher module for the openTCS kernel must implement.

A dispatcher manages the distribution of transport orders among the vehicles in a system. It is basically event-driven, where an event can be a new transport order being introduced into the system or a vehicle becoming available for processing existing orders.

  • Field Summary

    Fields 
    Modifier and Type Field Description
    static java.lang.String PROPKEY_ASSIGNED_PARKING_POSITION
    The key of a vehicle property defining the name of the vehicle's assigned parking position.
    static java.lang.String PROPKEY_ASSIGNED_RECHARGE_LOCATION
    The key of a vehicle property defining the name of the vehicle's assigned recharge location.
    static java.lang.String PROPKEY_PARKING_POSITION_PRIORITY
    The key of a parking position property defining its priority.
    static java.lang.String PROPKEY_PREFERRED_PARKING_POSITION
    The key of a vehicle property defining the name of the vehicle's preferred parking position.
    static java.lang.String PROPKEY_PREFERRED_RECHARGE_LOCATION
    The key of a vehicle property defining the name of the vehicle's preferred recharge location.
  • Method Summary

    Modifier and Type Method Description
    void dispatch()
    Notifies the dispatcher that it should start the dispatching process.
    void topologyChanged()
    Notifies the dispatcher of changes in the topology.
    void withdrawOrder​(Vehicle vehicle, boolean immediateAbort)
    Notifies the dispatcher that any order a given vehicle might be processing is to be withdrawn.
    void withdrawOrder​(TransportOrder order, boolean immediateAbort)
    Notifies the dispatcher that the given transport order is to be withdrawn/aborted.

    Methods inherited from interface org.opentcs.components.Lifecycle

    initialize, isInitialized, terminate
  • Field Details

    • PROPKEY_PARKING_POSITION_PRIORITY

      static final java.lang.String PROPKEY_PARKING_POSITION_PRIORITY
      The key of a parking position property defining its priority.

      Whether and in what way this is respected for assigning a parking position to a vehicle is implementation-specific.

      See Also:
      Constant Field Values
    • PROPKEY_ASSIGNED_PARKING_POSITION

      static final java.lang.String PROPKEY_ASSIGNED_PARKING_POSITION
      The key of a vehicle property defining the name of the vehicle's assigned parking position.

      Whether and in what way this is respected for selecting a parking position is implementation-specific.

      See Also:
      Constant Field Values
    • PROPKEY_PREFERRED_PARKING_POSITION

      static final java.lang.String PROPKEY_PREFERRED_PARKING_POSITION
      The key of a vehicle property defining the name of the vehicle's preferred parking position.

      Whether and in what way this is respected for selecting a parking position is implementation-specific.

      See Also:
      Constant Field Values
    • PROPKEY_ASSIGNED_RECHARGE_LOCATION

      static final java.lang.String PROPKEY_ASSIGNED_RECHARGE_LOCATION
      The key of a vehicle property defining the name of the vehicle's assigned recharge location.

      Whether and in what way this is respected for selecting a recharge location is implementation-specific.

      See Also:
      Constant Field Values
    • PROPKEY_PREFERRED_RECHARGE_LOCATION

      static final java.lang.String PROPKEY_PREFERRED_RECHARGE_LOCATION
      The key of a vehicle property defining the name of the vehicle's preferred recharge location.

      Whether and in what way this is respected for selecting a recharge location is implementation-specific.

      See Also:
      Constant Field Values
  • Method Details

    • dispatch

      void dispatch()
      Notifies the dispatcher that it should start the dispatching process.
    • withdrawOrder

      void withdrawOrder​(@Nonnull TransportOrder order, boolean immediateAbort)
      Notifies the dispatcher that the given transport order is to be withdrawn/aborted.
      Parameters:
      order - The transport order to be withdrawn/aborted.
      immediateAbort - Whether the order should be aborted immediately instead of withdrawn.
    • withdrawOrder

      void withdrawOrder​(@Nonnull Vehicle vehicle, boolean immediateAbort)
      Notifies the dispatcher that any order a given vehicle might be processing is to be withdrawn.
      Parameters:
      vehicle - The vehicle whose order is withdrawn.
      immediateAbort - Whether the vehicle's order should be aborted immediately instead of withdrawn.
    • topologyChanged

      void topologyChanged()
      Notifies the dispatcher of changes in the topology.