emulator_engine.services.controller package

Services for the emulator controller.

class emulator_engine.services.controller.ControllerRouterClient(bitstream_emulator_id: str, pulse_interval: float, *args, **kwargs)[source]

Bases: RouterClient

API router client used by the emulator controller for top-level routes.

Subclass of RouterClient.

class emulator_engine.services.controller.ControllerRouterImpl(*args, **kwargs)[source]

Bases: RouterImpl

Router implementation for the emulator controller.

Subclass of RouterImpl.

Parameters:

controller (EmulatorController) – A reference to the controller using this implementation.

class emulator_engine.services.controller.ControllerState(value, names=<not given>, *values, module=None, qualname=None, type=None, start=1, boundary=None)[source]

Bases: BaseState

Enum containing possible states for the emulator controller.

Implements BaseState.

ERROR = 'ERROR'

The emulator has experienced an error it has not recovered from.

IDLE = 'IDLE'

The emulator has been initialized but is dormant. No pulses are being sent and no events are being handled.

INITIALIZING = 'INITIALIZING'

The emulator is being initialized (but not starting).

RUNNING = 'RUNNING'

The emulator is fully started and running.

STARTING = 'STARTING'

The emulator is in the process of starting up.

STOPPING = 'STOPPING'

The emulator is in the process of stopping.

TERMINATED = 'TERMINATED'

The emulator, including its API server, has been completely terminated.

TERMINATING = 'TERMINATING'

The emulator is in the process of terminating.

class emulator_engine.services.controller.ControllerStateMachine[source]

Bases: FiniteStateMachine

State machine for the emulator controller.

Implements FiniteStateMachine.

class emulator_engine.services.controller.ControllerTransitionTrigger(value, names=<not given>, *values, module=None, qualname=None, type=None, start=1, boundary=None)[source]

Bases: BaseTransitionTrigger

Enum containing transitions for the emulator controller.

Implements BaseTransitionTrigger.

ERROR = 'error'

The emulator experiences a critical error and does not recover.

FINISH_INITIALIZING = 'finish_initializing'

The emulator finishes initialization.

FINISH_STARTING = 'finish_starting'

The emulator finishes starting.

FINISH_STOPPING = 'finish_stopping'

The emulator finishes stopping.

FINISH_TERMINATING = 'finish_terminating'

The emulator finishes terminating.

START = 'start'

The emulator is told to start.

STOP = 'stop'

The emulator is told to stop.

TERMINATE = 'terminate'

The emulator is told to terminate.