class EventLoopSimManager

Overview

Implementation of SimulationManager which manages an EventLoop. More…

#include <simulation_manager_event_loop.h>

class EventLoopSimManager: public SimulationManager {
public:
    // construction

    EventLoopSimManager(
        const jsonSharedPtr& simulationConfig,
        const EngineLauncherManagerConstSharedPtr& engineLauncherManager,
        const MainProcessLauncherManager::const_shared_ptr& processLauncherManager
    );

    // methods

    virtual bool hasSimulationTimedOut() const;
};

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;

    // enums

    enum SimState;

    // structs

    struct RequestResult;

    // methods

    static void validateConfig(jsonSharedPtr& config);
    RequestResult initializeSimulation();
    RequestResult resetSimulation();
    RequestResult stopSimulation();
    RequestResult runSimulationUntilDoneOrTimeout();
    virtual bool hasSimulationTimedOut() const = 0;
    RequestResult runSimulation(unsigned numIterations);
    RequestResult shutdownSimulation();
    SimState currentState();
    std::string printSimState(const SimState& simState);
    SimulationDataManager& getSimulationDataManager();

Detailed Documentation

Implementation of SimulationManager which manages an EventLoop.

Construction

EventLoopSimManager(
    const jsonSharedPtr& simulationConfig,
    const EngineLauncherManagerConstSharedPtr& engineLauncherManager,
    const MainProcessLauncherManager::const_shared_ptr& processLauncherManager
)

Constructor.

Parameters:

simulationConfig

Simulation configuration

engineLauncherManager

Engine launchers

processLaunchers

Process launchers