template class EngineClient::EngineLauncher

Overview

Class for launching engine. More…

#include <engine_client_interface.h>

template <const char* ENGINE_TYPE>
class EngineLauncher: public EngineLauncherInterface {
public:
    // construction

    EngineLauncher();
    EngineLauncher(const engine_type_t& engineType);

    // methods

    virtual EngineClientInterfaceSharedPtr launchEngine(
        nlohmann::json& engineConfig,
        ProcessLauncherInterface::unique_ptr&& launcher
    );
};

Inherited Members

public:
    // typedefs

    typedef std::shared_ptr<T> shared_ptr;
    typedef std::shared_ptr<const T> const_shared_ptr;
    typedef std::unique_ptr<T> unique_ptr;
    typedef std::unique_ptr<const T> const_unique_ptr;
    typedef decltype(DataPackIdentifier::Type) engine_type_t;

    // methods

    const engine_type_t& engineType() const;

    virtual EngineClientInterfaceSharedPtr launchEngine(
        nlohmann::json& engineConfig,
        ProcessLauncherInterface::unique_ptr&& launcher
    ) = 0;

Detailed Documentation

Class for launching engine.

Parameters:

ENGINE_TYPE

Default engine type

Methods

virtual EngineClientInterfaceSharedPtr launchEngine(
    nlohmann::json& engineConfig,
    ProcessLauncherInterface::unique_ptr&& launcher
)

Launches an engine. Configures config and forks a new child process for the engine.

Parameters:

engineConfig

Engine Configuration

launcher

Process Forker

Returns:

Returns pointer to EngineClientInterface