The TimeoutNode will halt() a running child if the latter has been RUNNING for more than a give time. The timeout is in millisecons and it is passed using the port "msec". More...
#include <timeout_node.h>
Public Member Functions | |
TimeoutNode (const std::string &name, unsigned milliseconds) | |
TimeoutNode (const std::string &name, const NodeConfiguration &config) | |
~TimeoutNode () override | |
Static Public Member Functions | |
static PortsList | providedPorts () |
Private Member Functions | |
virtual BT::NodeStatus | tick () override |
Method to be implemented by the user. | |
Private Attributes | |
std::atomic< bool > | child_halted_ |
unsigned | msec_ |
bool | read_parameter_from_ports_ |
std::mutex | timeout_mutex_ |
bool | timeout_started_ |
TimerQueue | timer_ |
uint64_t | timer_id_ |
The TimeoutNode will halt() a running child if the latter has been RUNNING for more than a give time. The timeout is in millisecons and it is passed using the port "msec".
If timeout is reached it returns FAILURE.
Example:
<Timeout msec="5000"> <KeepYourBreath> </Timeout>
Definition at line 23 of file timeout_node.h.
BT::TimeoutNode::TimeoutNode | ( | const std::string & | name, |
unsigned | milliseconds | ||
) |
Definition at line 18 of file timeout_node.cpp.
BT::TimeoutNode::TimeoutNode | ( | const std::string & | name, |
const NodeConfiguration & | config | ||
) |
Definition at line 29 of file timeout_node.cpp.
BT::TimeoutNode::~TimeoutNode | ( | ) | [inline, override] |
Definition at line 30 of file timeout_node.h.
static PortsList BT::TimeoutNode::providedPorts | ( | ) | [inline, static] |
Definition at line 35 of file timeout_node.h.
NodeStatus BT::TimeoutNode::tick | ( | ) | [override, private, virtual] |
Method to be implemented by the user.
Implements BT::TreeNode.
Definition at line 39 of file timeout_node.cpp.
std::atomic<bool> BT::TimeoutNode::child_halted_ [private] |
Definition at line 46 of file timeout_node.h.
unsigned BT::TimeoutNode::msec_ [private] |
Definition at line 49 of file timeout_node.h.
bool BT::TimeoutNode::read_parameter_from_ports_ [private] |
Definition at line 50 of file timeout_node.h.
std::mutex BT::TimeoutNode::timeout_mutex_ [private] |
Definition at line 52 of file timeout_node.h.
bool BT::TimeoutNode::timeout_started_ [private] |
Definition at line 51 of file timeout_node.h.
TimerQueue BT::TimeoutNode::timer_ [private] |
Definition at line 42 of file timeout_node.h.
uint64_t BT::TimeoutNode::timer_id_ [private] |
Definition at line 47 of file timeout_node.h.