29 const std::string&
id,
33 const std::string& skillId,
34 const std::string& profileId,
38 const std::vector<std::string>& parameterIds)>&& addMergerExecutorToDCFunc,
40 const std::string&
id,
42 bool isRetry)>&& addLoopExecutorToDCFunc);
47 void abort()
override;
48 std::optional<std::vector<skills::FluxioSkillStatusUpdate>>
getStatusUpdate()
override;
55 std::atomic_bool& running,
59 void handleParameterRoutine(
61 std::atomic_bool& running,
64 void handleSubSkillRoutine(
66 std::atomic_bool& running,
70 void handleControlRoutine(
73 std::atomic_bool& running,
77 void abortSubExecutions();
81 void pollSubStatuses();
83 const std::function<void(
const std::string& executionId)> abortFluxioSkill;
85 const std::function<skills::Result<std::experimental::observer_ptr<FluxioExecutor>,
87 const std::string& skillId,
88 const std::string& profileId,
93 const std::function<std::experimental::observer_ptr<FluxioExecutor>(
94 const std::vector<std::string>& parameterIds)>
95 addMergerExecutorToDC;
101 std::optional<skills::SkillExecutionID> executionId = std::nullopt;
103 std::map<std::string, std::experimental::observer_ptr<FluxioExecutor>>
105 std::shared_mutex subExecutionsMapMutex;
FluxioCompositeExecutor(const std::string &id, const skills::FluxioSkill &skill, const std::function< skills::Result< std::experimental::observer_ptr< FluxioExecutor >, skills::error::FluxioException >(const std::string &skillId, const std::string &profileId, const std::string &executorName, armarx::aron::data::DictPtr parameters)> &&executeFluxioSkillFunc, const std::function< std::experimental::observer_ptr< FluxioExecutor >(const std::vector< std::string > ¶meterIds)> &&addMergerExecutorToDCFunc, const std::function< std::experimental::observer_ptr< FluxioExecutor >(const std::string &id, const skills::FluxioSkill &skill, bool isRetry)> &&addLoopExecutorToDCFunc)