Newer
Older
#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