Skip to content

Commit a045876

Browse files
committed
Add parameter for default call_service timeout
1 parent e31b6a6 commit a045876

File tree

5 files changed

+15
-1
lines changed

5 files changed

+15
-1
lines changed

rosbridge_library/src/rosbridge_library/capabilities/call_service.py

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,12 @@ def __init__(self, protocol):
5252
# Call superclass constructor
5353
Capability.__init__(self, protocol)
5454

55+
self.default_timeout = (
56+
protocol.node_handle.get_parameter("default_call_service_timeout")
57+
.get_parameter_value()
58+
.double_value
59+
)
60+
5561
# Register the operations that this capability provides
5662
call_services_in_new_thread = (
5763
protocol.node_handle.get_parameter("call_services_in_new_thread")
@@ -81,7 +87,7 @@ def call_service(self, message):
8187
fragment_size = message.get("fragment_size", None)
8288
compression = message.get("compression", "none")
8389
args = message.get("args", [])
84-
timeout = message.get("timeout", 5.0)
90+
timeout = message.get("timeout", self.default_timeout)
8591

8692
if CallService.services_glob is not None and CallService.services_glob:
8793
self.protocol.log(

rosbridge_library/test/capabilities/test_call_service.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,7 @@ def setUp(self):
4040
self.executor.add_node(self.node)
4141

4242
self.node.declare_parameter("call_services_in_new_thread", False)
43+
self.node.declare_parameter("default_call_service_timeout", 5.0)
4344
self.node.declare_parameter("send_action_goals_in_new_thread", False)
4445

4546
# Create service servers with a separate callback group

rosbridge_library/test/capabilities/test_service_capabilities.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ def setUp(self):
2323
self.node = Node("test_service_capabilities")
2424

2525
self.node.declare_parameter("call_services_in_new_thread", False)
26+
self.node.declare_parameter("default_call_service_timeout", 5.0)
2627
self.node.declare_parameter("send_action_goals_in_new_thread", False)
2728

2829
self.proto = Protocol(self._testMethodName, self.node)

rosbridge_server/launch/rosbridge_websocket_launch.xml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717

1818
<arg name="use_compression" default="false" />
1919
<arg name="call_services_in_new_thread" default="false" />
20+
<arg name="default_call_service_timeout" default="5.0" />
2021
<arg name="send_action_goals_in_new_thread" default="false" />
2122

2223
<arg name="topics_glob" default="" />
@@ -42,6 +43,7 @@
4243
<param name="unregister_timeout" value="$(var unregister_timeout)"/>
4344
<param name="use_compression" value="$(var use_compression)"/>
4445
<param name="call_services_in_new_thread" value="$(var call_services_in_new_thread)"/>
46+
<param name="default_call_service_timeout" value="$(var default_call_service_timeout)"/>
4547
<param name="send_action_goals_in_new_thread" value="$(var send_action_goals_in_new_thread)"/>
4648

4749
<param name="topics_glob" value="$(var topics_glob)"/>

rosbridge_server/scripts/rosbridge_websocket.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -178,6 +178,10 @@ def protocol_parameter_handling(self):
178178
"call_services_in_new_thread", False
179179
).value
180180

181+
RosbridgeWebSocket.default_call_service_timeout = self.declare_parameter(
182+
"default_call_service_timeout", 5.0
183+
).value
184+
181185
RosbridgeWebSocket.send_action_goals_in_new_thread = self.declare_parameter(
182186
"send_action_goals_in_new_thread", False
183187
).value

0 commit comments

Comments
 (0)