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

Developer parameters api #31

Merged
merged 1 commit into from
May 20, 2015
Merged

Developer parameters api #31

merged 1 commit into from
May 20, 2015

Conversation

esteve
Copy link
Member

@esteve esteve commented May 15, 2015

Depends on #30

Connects to ros2/ros2#11

Connects to ros2/ros2#28

@dirk-thomas @tfoote @wjwwood

@esteve esteve added the in progress Actively being worked on (Kanban column) label May 15, 2015
@esteve
Copy link
Member Author

esteve commented May 15, 2015

Here's an easier to read diff:

internal-parameters-api...developer-parameters-api

@tfoote
Copy link
Contributor

tfoote commented May 19, 2015

+1

const std::vector<rcl_interfaces::Parameter> & parameters);

const std::vector<rclcpp::parameter::ParameterVariant> get_parameters(
const std::vector<std::string> & names);
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Same comments as on #30:

  • Why return a const non-reference here? If it can't be a reference what is the purpose of const then?
  • Can we make the getter methods const somehow?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why return a const non-reference here? If it can't be a reference what is the purpose of const then?

Fixed.

Can we make the getter methods const somehow?

Done.

@esteve esteve mentioned this pull request May 19, 2015
@esteve
Copy link
Member Author

esteve commented May 19, 2015

I've added a few more changes that I noticed when I implemented #34

@dirk-thomas
Copy link
Member

I don't understand how the remote name comes into play here. Why is it being appended to the name?

@esteve
Copy link
Member Author

esteve commented May 20, 2015

@dirk-thomas because that's the name of the service on the other end. Clients use the service name to route their requests. For example, given a parameter foo/bar on node node1, there will be a service named get_parameter_node1 that responds to requests for parameter foo/bar from clients.

@dirk-thomas
Copy link
Member

I think appending the node name makes it very difficult to see which services belong to which nodes. I would find a hierarchy more intuitive. Also we should avoid potential collisions again. So may be something like:

  • node1/get_parameter
  • node1__get_parameter

@esteve
Copy link
Member Author

esteve commented May 20, 2015

@dirk-thomas I've changed it so the service names are prefixed with the remote node name. I've made the same change in #34

@esteve
Copy link
Member Author

esteve commented May 20, 2015

This is blocking ros2/examples#23, which was caused by merging #30 too eagerly. I'm going to merge this PR and we can file tickets if there's any further issues.

esteve added a commit that referenced this pull request May 20, 2015
@esteve esteve merged commit e0573d2 into master May 20, 2015
@esteve esteve removed the in progress Actively being worked on (Kanban column) label May 20, 2015
@wjwwood wjwwood deleted the developer-parameters-api branch May 22, 2015 01:28
@wjwwood wjwwood restored the developer-parameters-api branch May 22, 2015 01:28
@esteve esteve deleted the developer-parameters-api branch June 16, 2015 22:20
mauropasse pushed a commit to mauropasse/rclcpp that referenced this pull request Dec 16, 2020
rename local_event_queue -> execution_event_queue
nnmm pushed a commit to ApexAI/rclcpp that referenced this pull request Jul 9, 2022
tests generated for each RMW impl must have unique names to be distinguishable
DensoADAS pushed a commit to DensoADAS/rclcpp that referenced this pull request Aug 5, 2022
* ros2GH-64 Rearrange default plugins build to use public headers

Also already links write integration test against the default plugins.

* ros2GH-64 Remove after_write_action

Query the underlying db directly in tests to determine the amount of
recorded messages.

* ros2GH-64 Add convenience getter for single line SQL result

* ros2GH-64 Add visibility macros to enable linking on Windows

* ros2GH-64 Remove second sqlite exception class (it is not needed)

* ros2GH-64 Fix hanging rosbag2_read_integration_test

* ros2GH-64 Always log sqlite return code

* ros2GH-64 Improve opening of sqlite database

- Always open db with threading mode multi-thread. This forbids
  sharing database connections across threads. Db access from multiple
  threads is possible when each thread uses its own connection.
- Open sqlite db accordingly to given io flags. Readonly open works
  only with already existing database.
- Set journal mode pragma to WAL (write ahead log) and synchronous
  pragma to NORMAL. This should yield good write performance.
- Small fix: use *.db3 as db name in tests.

* ros2GH-64 Fix package test dependencies

* ros2GH-64 Fix cppcheck error

* ros2GH-64 Fix asserting typesupport in test (varies on architectures)

* Cleanup

- consistently use const ref of string instead of string for function
  arguments
- simplify package dependencies
- minor formatting

* Make play integration test compile on Mac

* Fix sqlite_wrapper_integration_test
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants