ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question
0

Send request function for client

asked 2019-08-02 09:44:20 -0500

mikepark93 gravatar image

Is there a way to make a generic send request function for the client in ROS2 services? Or is each send request unique to the service

edit retag flag offensive close merge delete

1 Answer

Sort by ยป oldest newest most voted
0

answered 2019-08-02 10:03:30 -0500

alsora gravatar image

updated 2019-08-02 12:20:31 -0500

jayess gravatar image

Client-Server communication via services is a 1 to 1 communication. When you create a client

auto client = node->create_client<ServiceT>(service_name, qos);

This client can only send requests to the service specified by service name. In order to change its service you need to create again the object.

From your question it looks like you want to send the same ServiceT::Request object to multiple servers. The ServiceT::Request object is not linked to any specific server or client and it can be reused as many times you want.

Assuming that you created multiple clients, what you can do is

ServiceT::Request request;

client1->send_request(request);
client2->send_request(request);
edit flag offensive delete link more

Question Tools

2 followers

Stats

Asked: 2019-08-02 09:44:20 -0500

Seen: 299 times

Last updated: Aug 02 '19