Go to the documentation of this file.
38 std::chrono::milliseconds
async_delay = std::chrono::milliseconds(0);
std::string failure_script
script to execute when complete_func() returns FAILURE
std::chrono::milliseconds async_delay
if async_delay > 0, this action become asynchronous and wait this amount of time
const NodeConfig & config() const
static PortsList providedPorts()
virtual void onHalted() override
std::function< Any(Ast::Environment &env)> ScriptFunction
ScriptFunction _success_executor
std::unordered_map< std::string, PortInfo > PortsList
NodeStatus return_status
status to return when the action is completed.
const std::string & name() const
Name of the instance, not the type.
std::string success_script
script to execute when complete_func() returns SUCCESS
TestNodeConfig _test_config
The TestNode is a Node that can be configure to:
std::function< NodeStatus(void)> complete_func
ScriptFunction _post_executor
std::string post_script
script to execute when actions is completed
ScriptFunction _failure_executor
std::atomic_bool _completed
virtual NodeStatus onRunning() override
method invoked when the action is already in the RUNNING state.
TestNode(const std::string &name, const NodeConfig &config, TestNodeConfig test_config)
The StatefulActionNode is the preferred way to implement asynchronous Actions. It is actually easier ...
virtual NodeStatus onStart() override