add callback group as member variable and constructor arg (#811)
Signed-off-by: bpwilcox <bpwilcox@eng.ucsd.edu> remove callback group as member variable
This commit is contained in:
parent
4dbc7192d2
commit
ccd5b49186
2 changed files with 22 additions and 14 deletions
|
@ -53,19 +53,22 @@ public:
|
||||||
const rclcpp::node_interfaces::NodeGraphInterface::SharedPtr node_graph_interface,
|
const rclcpp::node_interfaces::NodeGraphInterface::SharedPtr node_graph_interface,
|
||||||
const rclcpp::node_interfaces::NodeServicesInterface::SharedPtr node_services_interface,
|
const rclcpp::node_interfaces::NodeServicesInterface::SharedPtr node_services_interface,
|
||||||
const std::string & remote_node_name = "",
|
const std::string & remote_node_name = "",
|
||||||
const rmw_qos_profile_t & qos_profile = rmw_qos_profile_parameters);
|
const rmw_qos_profile_t & qos_profile = rmw_qos_profile_parameters,
|
||||||
|
rclcpp::callback_group::CallbackGroup::SharedPtr group = nullptr);
|
||||||
|
|
||||||
RCLCPP_PUBLIC
|
RCLCPP_PUBLIC
|
||||||
AsyncParametersClient(
|
AsyncParametersClient(
|
||||||
const rclcpp::Node::SharedPtr node,
|
const rclcpp::Node::SharedPtr node,
|
||||||
const std::string & remote_node_name = "",
|
const std::string & remote_node_name = "",
|
||||||
const rmw_qos_profile_t & qos_profile = rmw_qos_profile_parameters);
|
const rmw_qos_profile_t & qos_profile = rmw_qos_profile_parameters,
|
||||||
|
rclcpp::callback_group::CallbackGroup::SharedPtr group = nullptr);
|
||||||
|
|
||||||
RCLCPP_PUBLIC
|
RCLCPP_PUBLIC
|
||||||
AsyncParametersClient(
|
AsyncParametersClient(
|
||||||
rclcpp::Node * node,
|
rclcpp::Node * node,
|
||||||
const std::string & remote_node_name = "",
|
const std::string & remote_node_name = "",
|
||||||
const rmw_qos_profile_t & qos_profile = rmw_qos_profile_parameters);
|
const rmw_qos_profile_t & qos_profile = rmw_qos_profile_parameters,
|
||||||
|
rclcpp::callback_group::CallbackGroup::SharedPtr group = nullptr);
|
||||||
|
|
||||||
RCLCPP_PUBLIC
|
RCLCPP_PUBLIC
|
||||||
std::shared_future<std::vector<rclcpp::Parameter>>
|
std::shared_future<std::vector<rclcpp::Parameter>>
|
||||||
|
|
|
@ -30,7 +30,8 @@ AsyncParametersClient::AsyncParametersClient(
|
||||||
const rclcpp::node_interfaces::NodeGraphInterface::SharedPtr node_graph_interface,
|
const rclcpp::node_interfaces::NodeGraphInterface::SharedPtr node_graph_interface,
|
||||||
const rclcpp::node_interfaces::NodeServicesInterface::SharedPtr node_services_interface,
|
const rclcpp::node_interfaces::NodeServicesInterface::SharedPtr node_services_interface,
|
||||||
const std::string & remote_node_name,
|
const std::string & remote_node_name,
|
||||||
const rmw_qos_profile_t & qos_profile)
|
const rmw_qos_profile_t & qos_profile,
|
||||||
|
rclcpp::callback_group::CallbackGroup::SharedPtr group)
|
||||||
: node_topics_interface_(node_topics_interface)
|
: node_topics_interface_(node_topics_interface)
|
||||||
{
|
{
|
||||||
if (remote_node_name != "") {
|
if (remote_node_name != "") {
|
||||||
|
@ -51,7 +52,7 @@ AsyncParametersClient::AsyncParametersClient(
|
||||||
remote_node_name_ + "/" + parameter_service_names::get_parameters,
|
remote_node_name_ + "/" + parameter_service_names::get_parameters,
|
||||||
options);
|
options);
|
||||||
auto get_parameters_base = std::dynamic_pointer_cast<ClientBase>(get_parameters_client_);
|
auto get_parameters_base = std::dynamic_pointer_cast<ClientBase>(get_parameters_client_);
|
||||||
node_services_interface->add_client(get_parameters_base, nullptr);
|
node_services_interface->add_client(get_parameters_base, group);
|
||||||
|
|
||||||
get_parameter_types_client_ = Client<rcl_interfaces::srv::GetParameterTypes>::make_shared(
|
get_parameter_types_client_ = Client<rcl_interfaces::srv::GetParameterTypes>::make_shared(
|
||||||
node_base_interface.get(),
|
node_base_interface.get(),
|
||||||
|
@ -60,7 +61,7 @@ AsyncParametersClient::AsyncParametersClient(
|
||||||
options);
|
options);
|
||||||
auto get_parameter_types_base =
|
auto get_parameter_types_base =
|
||||||
std::dynamic_pointer_cast<ClientBase>(get_parameter_types_client_);
|
std::dynamic_pointer_cast<ClientBase>(get_parameter_types_client_);
|
||||||
node_services_interface->add_client(get_parameter_types_base, nullptr);
|
node_services_interface->add_client(get_parameter_types_base, group);
|
||||||
|
|
||||||
set_parameters_client_ = Client<rcl_interfaces::srv::SetParameters>::make_shared(
|
set_parameters_client_ = Client<rcl_interfaces::srv::SetParameters>::make_shared(
|
||||||
node_base_interface.get(),
|
node_base_interface.get(),
|
||||||
|
@ -68,7 +69,7 @@ AsyncParametersClient::AsyncParametersClient(
|
||||||
remote_node_name_ + "/" + parameter_service_names::set_parameters,
|
remote_node_name_ + "/" + parameter_service_names::set_parameters,
|
||||||
options);
|
options);
|
||||||
auto set_parameters_base = std::dynamic_pointer_cast<ClientBase>(set_parameters_client_);
|
auto set_parameters_base = std::dynamic_pointer_cast<ClientBase>(set_parameters_client_);
|
||||||
node_services_interface->add_client(set_parameters_base, nullptr);
|
node_services_interface->add_client(set_parameters_base, group);
|
||||||
|
|
||||||
set_parameters_atomically_client_ =
|
set_parameters_atomically_client_ =
|
||||||
Client<rcl_interfaces::srv::SetParametersAtomically>::make_shared(
|
Client<rcl_interfaces::srv::SetParametersAtomically>::make_shared(
|
||||||
|
@ -78,7 +79,7 @@ AsyncParametersClient::AsyncParametersClient(
|
||||||
options);
|
options);
|
||||||
auto set_parameters_atomically_base = std::dynamic_pointer_cast<ClientBase>(
|
auto set_parameters_atomically_base = std::dynamic_pointer_cast<ClientBase>(
|
||||||
set_parameters_atomically_client_);
|
set_parameters_atomically_client_);
|
||||||
node_services_interface->add_client(set_parameters_atomically_base, nullptr);
|
node_services_interface->add_client(set_parameters_atomically_base, group);
|
||||||
|
|
||||||
list_parameters_client_ = Client<rcl_interfaces::srv::ListParameters>::make_shared(
|
list_parameters_client_ = Client<rcl_interfaces::srv::ListParameters>::make_shared(
|
||||||
node_base_interface.get(),
|
node_base_interface.get(),
|
||||||
|
@ -86,7 +87,7 @@ AsyncParametersClient::AsyncParametersClient(
|
||||||
remote_node_name_ + "/" + parameter_service_names::list_parameters,
|
remote_node_name_ + "/" + parameter_service_names::list_parameters,
|
||||||
options);
|
options);
|
||||||
auto list_parameters_base = std::dynamic_pointer_cast<ClientBase>(list_parameters_client_);
|
auto list_parameters_base = std::dynamic_pointer_cast<ClientBase>(list_parameters_client_);
|
||||||
node_services_interface->add_client(list_parameters_base, nullptr);
|
node_services_interface->add_client(list_parameters_base, group);
|
||||||
|
|
||||||
describe_parameters_client_ = Client<rcl_interfaces::srv::DescribeParameters>::make_shared(
|
describe_parameters_client_ = Client<rcl_interfaces::srv::DescribeParameters>::make_shared(
|
||||||
node_base_interface.get(),
|
node_base_interface.get(),
|
||||||
|
@ -95,33 +96,37 @@ AsyncParametersClient::AsyncParametersClient(
|
||||||
options);
|
options);
|
||||||
auto describe_parameters_base =
|
auto describe_parameters_base =
|
||||||
std::dynamic_pointer_cast<ClientBase>(describe_parameters_client_);
|
std::dynamic_pointer_cast<ClientBase>(describe_parameters_client_);
|
||||||
node_services_interface->add_client(describe_parameters_base, nullptr);
|
node_services_interface->add_client(describe_parameters_base, group);
|
||||||
}
|
}
|
||||||
|
|
||||||
AsyncParametersClient::AsyncParametersClient(
|
AsyncParametersClient::AsyncParametersClient(
|
||||||
const rclcpp::Node::SharedPtr node,
|
const rclcpp::Node::SharedPtr node,
|
||||||
const std::string & remote_node_name,
|
const std::string & remote_node_name,
|
||||||
const rmw_qos_profile_t & qos_profile)
|
const rmw_qos_profile_t & qos_profile,
|
||||||
|
rclcpp::callback_group::CallbackGroup::SharedPtr group)
|
||||||
: AsyncParametersClient(
|
: AsyncParametersClient(
|
||||||
node->get_node_base_interface(),
|
node->get_node_base_interface(),
|
||||||
node->get_node_topics_interface(),
|
node->get_node_topics_interface(),
|
||||||
node->get_node_graph_interface(),
|
node->get_node_graph_interface(),
|
||||||
node->get_node_services_interface(),
|
node->get_node_services_interface(),
|
||||||
remote_node_name,
|
remote_node_name,
|
||||||
qos_profile)
|
qos_profile,
|
||||||
|
group)
|
||||||
{}
|
{}
|
||||||
|
|
||||||
AsyncParametersClient::AsyncParametersClient(
|
AsyncParametersClient::AsyncParametersClient(
|
||||||
rclcpp::Node * node,
|
rclcpp::Node * node,
|
||||||
const std::string & remote_node_name,
|
const std::string & remote_node_name,
|
||||||
const rmw_qos_profile_t & qos_profile)
|
const rmw_qos_profile_t & qos_profile,
|
||||||
|
rclcpp::callback_group::CallbackGroup::SharedPtr group)
|
||||||
: AsyncParametersClient(
|
: AsyncParametersClient(
|
||||||
node->get_node_base_interface(),
|
node->get_node_base_interface(),
|
||||||
node->get_node_topics_interface(),
|
node->get_node_topics_interface(),
|
||||||
node->get_node_graph_interface(),
|
node->get_node_graph_interface(),
|
||||||
node->get_node_services_interface(),
|
node->get_node_services_interface(),
|
||||||
remote_node_name,
|
remote_node_name,
|
||||||
qos_profile)
|
qos_profile,
|
||||||
|
group)
|
||||||
{}
|
{}
|
||||||
|
|
||||||
std::shared_future<std::vector<rclcpp::Parameter>>
|
std::shared_future<std::vector<rclcpp::Parameter>>
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue