Class ExecutionQueueModule

All Implemented Interfaces:
IModule, ModuleElement, IEolModule

public class ExecutionQueueModule extends EolModule

Dummy module intended to allow the reuse of a single EpsilonDebugServer across multiple Epsilon programs. Users should call the enqueue(IEolModule) method to add more programs to be debugged, which will be executed in FIFO order.

The module will run indefinitely until it is terminated, running every enqueued module and waiting when all modules have been executed so far, until more modules are enqueued or execution is terminated.

The module can automatically attach the modules to be run to a given adapter, if set via setDebugAdapter(EpsilonDebugAdapter). This is recommended, as otherwise there is a risk that certain events will be missed by the debug adapter (e.g. the pre-execute checks for the root of its AST).

The queue is polled according to a given interval, configured via setPollInterval(Duration) (which should be measured at least in milliseconds).

  • Field Details

    • DEFAULT_DURATION

      public static final Duration DEFAULT_DURATION
  • Constructor Details

    • ExecutionQueueModule

      public ExecutionQueueModule()
  • Method Details