Class Guard.Complement

All Implemented Interfaces:
Guard
Enclosing interface:
Guard

public static final class Guard.Complement extends GuardBase
  • Constructor Details

    • Complement

      public Complement(GuardBase guard)
  • Method Details

    • evaluate

      public Guard.Result evaluate(FSM fsm, Input in)
      Description copied from interface: Guard
      Called by the state engine to determine whether a transition is enabled, defered, or disabled. The result is interpreted as follows:
      • ENABLED if the transition is ready to proceed
      • DISABLED if the transition is not ready to proceed
      • DEFERED if the action associated with the transition is to be deferred. This means that the input will not be acted upon, but rather it will be saved for later execution. Typically this is implemented using a CondVar wait, and the blocked thread represents the defered input. The defered input is retried when the thread runs again.