[rclcpp] Add class Waitable (#589)
* [rclcpp] Add class Waitable Provides a virtual API for interacting with wait sets. * [rclcpp] Add node interface for Waitables * [rclcpp] Implement node interface for Waitables * [rclcpp] Integrate Waitable entities with executor * Implement remaining logic for integrating Waitables * Add visibility macros and other refactoring to Waitable class * Return zero size for entities in a Waitable by default * Bugfix: Clear list of waitable handles * Bugfix: update Waitable handle list based on readiness * Bugfix: update for loop condition * Give node a node_waitables_ * Give lifecycle node a node_waitables
This commit is contained in:
parent
be010cb2d5
commit
27b0428f7a
18 changed files with 554 additions and 9 deletions
|
@ -44,6 +44,7 @@
|
|||
#include "rclcpp/node_interfaces/node_services_interface.hpp"
|
||||
#include "rclcpp/node_interfaces/node_timers_interface.hpp"
|
||||
#include "rclcpp/node_interfaces/node_topics_interface.hpp"
|
||||
#include "rclcpp/node_interfaces/node_waitables_interface.hpp"
|
||||
#include "rclcpp/parameter.hpp"
|
||||
#include "rclcpp/publisher.hpp"
|
||||
#include "rclcpp/service.hpp"
|
||||
|
@ -390,6 +391,11 @@ public:
|
|||
rclcpp::node_interfaces::NodeParametersInterface::SharedPtr
|
||||
get_node_parameters_interface();
|
||||
|
||||
/// Return the Node's internal NodeWaitablesInterface implementation.
|
||||
RCLCPP_LIFECYCLE_PUBLIC
|
||||
rclcpp::node_interfaces::NodeWaitablesInterface::SharedPtr
|
||||
get_node_waitables_interface();
|
||||
|
||||
//
|
||||
// LIFECYCLE COMPONENTS
|
||||
//
|
||||
|
@ -515,6 +521,7 @@ private:
|
|||
rclcpp::node_interfaces::NodeServicesInterface::SharedPtr node_services_;
|
||||
rclcpp::node_interfaces::NodeParametersInterface::SharedPtr node_parameters_;
|
||||
rclcpp::node_interfaces::NodeClockInterface::SharedPtr node_clock_;
|
||||
rclcpp::node_interfaces::NodeWaitablesInterface::SharedPtr node_waitables_;
|
||||
|
||||
bool use_intra_process_comms_;
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue