| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
…outcome (ros2#200) SyncParametersClient::get_parameters() returns an empty vector both when the parameter server responds with no matching parameters and when the request does not complete (timeout or interruption), so a caller cannot tell a failed request apart from a legitimately empty response. Add a non-breaking overload that additionally reports the wait outcome through a rclcpp::FutureReturnCode out-parameter. The existing overloads delegate to it, so their behaviour is unchanged; callers that need to distinguish the cases use the new overload. Adds a regression test covering SUCCESS-with-value, SUCCESS-but-empty, and TIMEOUT (no server): the last two both return an empty vector but now report different outcomes. Refs ros2#200 Generated-by: Claude Opus 4.8 (Anthropic) Signed-off-by: Pavel Guzenfeld <pavelguzenfeld@gmail.com>
|
Tick the box to add this pull request to the merge queue (same as @mergifyio queue).
|
Sorry, something went wrong.
| Back | FazBrowse Home | New Git URL |
SyncParametersClient::get_parameters() returns an empty vector both when the server responds with no matching parameters and when the request does not complete (timeout or interruption), so a caller cannot tell a failed request apart from a legitimately empty response (#200).
This adds a non-breaking overload that also reports the wait outcome through a rclcpp::FutureReturnCode out-parameter. The existing overloads delegate to it, so their behaviour is unchanged.
Tests cover SUCCESS-with-value, SUCCESS-but-empty, and TIMEOUT (no server): the last two both return an empty vector but now report different outcomes.
The sibling sync methods (describe_parameters, get_parameter_types, set_parameters, delete_parameters) share the same limitation; if this pattern looks right, I'm happy to extend it to them in a follow-up.
Some of this change was produced with Claude Opus 4.8 (Anthropic).