#include <cstdlib> #include "InstantKill.h" #include <thread> #include <chrono> namespace armarx::skills::provider { InstantKillSkill::InstantKillSkill() : SimpleSkill(GetSkillDescription()) { } SkillDescription InstantKillSkill::GetSkillDescription() { return SkillDescription{.skillId = armarx::skills::SkillID{.skillName = "InstantKill"}, .description = "This skill calls Timeout and instantly aboirts it.", .timeout = armarx::core::time::Duration::MilliSeconds(50000)}; } Skill::MainResult InstantKillSkill::main(const MainInput& in) { this->throwIfSkillShouldTerminate(); SkillProxy prx( manager, skills::SkillID{.providerId = *getSkillId().providerId, .skillName = "Chaining"}); for (unsigned int i = 0; i < 25; ++i) { auto id = callSubskillAsync(prx); prx.abortSkillAsync(id); } return {TerminatedSkillStatus::Succeeded, nullptr}; } } // namespace armarx::skills::provider