Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Expose timeout option for parameter service calls by SyncParametersClient #360

Closed
dhood opened this issue Aug 23, 2017 · 2 comments
Closed
Labels
enhancement New feature or request help wanted Extra attention is needed

Comments

@dhood
Copy link
Member

dhood commented Aug 23, 2017

As an example, SyncParametersClient::set_parameters doesn't take a timeout option. So, if anything goes wrong in the service call (e.g. the server goes down), we will get stuck waiting indefinitely.

Exposing a timout that is set to -1 by default (as is done for SyncParametersClient::wait_for_service) would be appropriate.

Parameter tests in test_rclcpp (e.g. this one) should be updated to specify a timeout, so that the other tests in the file can be run even if one of them hangs.

@wjwwood
Copy link
Member

wjwwood commented Mar 19, 2020

Updated link:

std::vector<rcl_interfaces::msg::SetParametersResult>
SyncParametersClient::set_parameters(
const std::vector<rclcpp::Parameter> & parameters)
{
auto f = async_parameters_client_->set_parameters(parameters);
using rclcpp::executors::spin_node_until_future_complete;
if (
spin_node_until_future_complete(
*executor_, node_base_interface_,
f) == rclcpp::executor::FutureReturnCode::SUCCESS)
{
return f.get();
}
return std::vector<rcl_interfaces::msg::SetParametersResult>();
}

@fujitatomoya
Copy link
Collaborator

@wjwwood

thanks for the review, i think we can close this.

@wjwwood wjwwood closed this as completed Dec 23, 2020
nnmm pushed a commit to ApexAI/rclcpp that referenced this issue Jul 9, 2022
nnmm pushed a commit to ApexAI/rclcpp that referenced this issue Jul 9, 2022
* Changing security directory lookup to a prefix match rather than exact match.

Signed-off-by: Emerson Knapp <[email protected]>

* Changing security directory lookup to a prefix match rather than exact match.

Signed-off-by: Emerson Knapp <[email protected]>

* Changing security directory lookup to a prefix match rather than exact match.

Signed-off-by: Emerson Knapp <[email protected]>

* Changing security directory lookup to a prefix match rather than exact match.

Signed-off-by: Emerson Knapp <[email protected]>

* Adding security_directory module and moving rcl_get_secure_root function to it. Adding tests.

Signed-off-by: Emerson Knapp <[email protected]>

* Adding security_directory module and moving rcl_get_secure_root function to it. Adding tests.

Signed-off-by: Emerson Knapp <[email protected]>

* Adding security_directory module and moving rcl_get_secure_root function to it. Adding tests.

Signed-off-by: Emerson Knapp <[email protected]>

* Adding security_directory module and moving rcl_get_secure_root function to it. Adding tests.

Signed-off-by: Emerson Knapp <[email protected]>

* Adding security_directory module and moving rcl_get_secure_root function to it. Adding tests.

Signed-off-by: Emerson Knapp <[email protected]>

* Changing security directory prefix matching to be optional. Improving error messages around security directory lookup.

Signed-off-by: Emerson Knapp <[email protected]>

* Fixing get_best_matching_directory so that it always fetches the next file inside the loop.

Signed-off-by: Emerson Knapp <[email protected]>

* make pr ready for ros2cli security feature (#1)

* update docs about possibility of rcl_take no taking (ros2#356)

* update rcl_wait doc with respect to subs and possibility of failing takes

* add a note about possible failing takes in rcl_take docs

* 0.6.2

* Set rmw_wait timeout using ros timers too (ros2#357)

* 0.6.3

* Avoid timer period being set to 0 (ros2#359)

* Fix logic that moves goal handles when one expires (ros2#360)

* Fix error from uncrustify v0.68 (ros2#364)

* Ensure that context instance id storage is aligned correctly (ros2#365)

* Ensure that context instance id storage is aligned correctly

* Make alignment compatible with MSVC

* Namespace alignment macro with RCL_

* [rcl] Guard against bad allocation calling rcl_arguments_copy() (ros2#367)

* [rcl] Add test for copying arguments struct with no arguments

* Override allocate function in test to reveal bug

* [rcl] Only allocate arrays if there are things to copy in rcl_argument_copy()

Also guard against freeing invalid pointers if rcl_argument_copy() fails.

* Remove uncessary guard against NULL pointer

* linter, styles, uncrustify fixes

Signed-off-by: Emerson Knapp <[email protected]>

* Update rcl/include/rcl/security_directory.h

Co-Authored-By: AAlon <[email protected]>
Signed-off-by: Emerson Knapp <[email protected]>

* Adding line break in docstring

Signed-off-by: Emerson Knapp <[email protected]>

* Removing duplicate doc string

Signed-off-by: Emerson Knapp <[email protected]>

* Removing tinydir from the source tree, instead using the ROS package tinydir_vendor.

Signed-off-by: Emerson Knapp <[email protected]>

* Removing tinydir

Signed-off-by: Emerson Knapp <[email protected]>

* Reformatting license notice as per linter template.

Signed-off-by: Emerson Knapp <[email protected]>

* Update test_security_directory.cpp

Signed-off-by: Emerson Knapp <[email protected]>

* Changing input to putenv to be a global, statically allocated buffer.

Signed-off-by: Emerson Knapp <[email protected]>

* test_security_directory - Using a larger buffer for env string manipulations.

Signed-off-by: Emerson Knapp <[email protected]>

* Copy environment variable to allocated string so it is not clobbered by next lookup

Signed-off-by: Emerson Knapp <[email protected]>

* Address review comments

fix security directory exact match comment and unset env vars before tests

Signed-off-by: Emerson Knapp <[email protected]>

* Remove strncpy

Signed-off-by: Emerson Knapp <[email protected]>
DensoADAS pushed a commit to DensoADAS/rclcpp that referenced this issue Aug 5, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request help wanted Extra attention is needed
Projects
None yet
Development

No branches or pull requests

4 participants