Public Member Functions | Static Public Member Functions | Private Member Functions | Private Attributes
BT::TimeoutNode Class Reference

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>

Inheritance diagram for BT::TimeoutNode:
Inheritance graph
[legend]

List of all members.

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_

Detailed Description

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.


Constructor & Destructor Documentation

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.


Member Function Documentation

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.


Member Data Documentation

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.

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.

Definition at line 51 of file timeout_node.h.

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.


The documentation for this class was generated from the following files:


behaviortree_cpp
Author(s): Michele Colledanchise, Davide Faconti
autogenerated on Sat Jun 8 2019 20:17:15