-
Notifications
You must be signed in to change notification settings - Fork 43
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
Implement services and rmw_wait #16
Merged
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
methylDragon
force-pushed
the
ch3/rmw-services
branch
from
August 26, 2020 08:36
fced84c
to
3d33743
Compare
gbiggs
requested changes
Aug 27, 2020
methylDragon
force-pushed
the
ch3/rmw-services
branch
from
August 28, 2020 10:02
f5d72ad
to
3be2dcf
Compare
methylDragon
force-pushed
the
ch3/rmw-services
branch
from
August 28, 2020 21:36
32f6f25
to
4d9342d
Compare
I oopsied that Should be fixed in 591d0e3 |
I ran it through valgrind and there were a lot of random memory issues
(particularly alignment issues) (but it seems to go beyond the rmw
implementation.)
I'm not too sure how to deal with those but not sure if we should care for
those at the moment.
…On Tue, 1 Sep 2020, 09:40 Geoffrey Biggs, ***@***.***> wrote:
***@***.**** commented on this pull request.
------------------------------
In rmw_zenoh_cpp/src/rmw_subscriber.cpp
<#16 (comment)>:
> @@ -113,6 +114,9 @@ rmw_create_subscription(
subscription->options = *subscription_options;
subscription->can_loan_messages = false;
+ // NOTE(CH3): Does this leak because it can't be freed?
I looked over the commit and I *think* it's OK, but as you say, it's a
mammoth commit with a lot of allocates and deallocates. We should do a full
memory audit at some point in the future.
—
You are receiving this because you were assigned.
Reply to this email directly, view it on GitHub
<#16 (comment)>, or
unsubscribe
<https://github.com/notifications/unsubscribe-auth/AE2TVRVWZVF6FANV34GNJVLSDRGKVANCNFSM4QLRJV5Q>
.
|
gbiggs
reviewed
Sep 1, 2020
gbiggs
requested changes
Sep 1, 2020
gbiggs
reviewed
Sep 1, 2020
Co-authored-by: Geoffrey Biggs <[email protected]>
Co-authored-by: Geoffrey Biggs <[email protected]>
gbiggs
approved these changes
Sep 1, 2020
clalancette
pushed a commit
that referenced
this pull request
Nov 9, 2023
Signed-off-by: Yadunund <[email protected]>
Yadunund
added a commit
that referenced
this pull request
Jan 12, 2024
Signed-off-by: Yadunund <[email protected]>
Yadunund
pushed a commit
that referenced
this pull request
Sep 19, 2024
Signed-off-by: ChenYing Kuo <[email protected]>
clalancette
added a commit
that referenced
this pull request
Dec 6, 2024
* chore: configure the compiliation * chore: complete the 1st version * fix: memory leak * fix: z_error_t -> z_result_t * Fix `scouting/*/autoconnect/*` per eclipse-zenoh/zenoh@b31a410 (#3) * chore: checkout the local zenoh-c * chore: polish z_open * feat: `z_bytes_serialize_from_slice` without copy * Initialize `query_` member of `ZenohQuery` * refactor: use `z_owned_slice_t` instead * chore: adapt the latest change of zenoh-c dev/1.0.0 * chore: use `strncmp` to avoid copying * refactor: use `z_view_keyexpr_t` to avoid copying * chore: adapt the new changes from zenoh-c and fix the bug in liveliness * fix: segmentation fault due to the unallocated query memory * fix: workaround the ZID parsing issue * fix Zenoh Config read\check * adopt to recent zenoh-c API changes * fix: adapt the latest change of batching config * build: deprecate the zenohc_debug and include the zenohc dependency in the zenoh_c_vendor * Use main branch for upgrading to Zenoh 1.0 * Increase the delay in scouting (#16) * ci: fix the argument order in the style CI * refactor: use `z_id_to_string` * build: enable the unstable feature flag * build: bump up the zenoh-c commit * build: update zenoh-c version * fix: set the max size of initial query queue to `SIZE_MAX - 1` * fix: iterator memory leak * feat: update to zenoh-c 1.0.0.8 changes * chore(style): address `ament_cpplint` and `ament_uncrustiy` * fix: initiate zenoh logger * chore: apply the suggestions * chore: add the comments for the zenoh logger * fix: store and destroy the subscriber properly * chore: improve the null pointer check: NULL => nullptr * Change liveliness tokens logs from warn to debug level (#22) * fix: properly clone the pointer of query and reply to resolve the segfault in test_service__rmw_zenoh_cpp * chore: update to zenoh-c 1.0.0.9 (#23) * Thread-safe access to graph cache (#258) * refactor(api): align with latest serialization changes * chore(deps): bump up zenoh-c to 1.0.0.10 * chore(api): align with latest serialization changes * fix: correct the sub_ke and selector_ke in the querying_subscriber * fix: thread-safe publisher * Enable history option for liveliness subscriber. (#27) * refactor!: adopt the TLS config renaming * refactor: allow Zenoh session to close without dropping * fix: address the failure in rclcpp/test_wait_for_message of declaring a subscriber after the RMW has been shut down * test: close but not drop the session * fix: correct the merge * chore: Explicit false in adminspace config * fix: enable admin space in rmw router and ros nodes * Bump zenoh-c version. * Use the latest zenoh-c which fix some nav2 issues. (#31) * Update config files according to Zenoh 1.0.0 DEFAULT_CONFIG.json5 (#33) * chore(zenoh_c_vendor): bumb up zenoh-c version * refactor: remove the free_attachment * Fix unset request header writer GUID in `rmw_take_response` * fix: keyexpr is missing in the service * Avoid touching Zenoh Session while exiting. * Register function right after opening Zenoh Session. * chore(deps): bump up zenoh-c to 1.0.1 * fix: use TRUE value to configure the feature flag * fix: correct typo `attachement` to `attachment` * refactor: remove the warning of subscriber reliability QoS * Fix `z_view_string_t` to `std::string` conversion * refactor: zc_liveliness_* -> z_liveliness_* and bump up zenoh-c version * refactor: reorder the cancel functions * chore: reorder some lines of code * refactor: add `session_is_valid` check * fixup! refactor: reorder the cancel functions * fixup! refactor: zc_liveliness_* -> z_liveliness_* and bump up zenoh-c version Signed-off-by: Luca Cominardi <[email protected]> Signed-off-by: ChenYing Kuo <[email protected]> Signed-off-by: Gabriele Baldoni <[email protected]> Signed-off-by: Yadunund <[email protected]> Co-authored-by: Mahmoud Mazouz <[email protected]> Co-authored-by: yellowhatter <[email protected]> Co-authored-by: Steven Palma <[email protected]> Co-authored-by: Julien Enoch <[email protected]> Co-authored-by: Chris Lalancette <[email protected]>
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Implements services!
Test Services
To test, use the ROS examples
Terminal 1:
RMW_IMPLEMENTATION=rmw_zenoh_cpp ros2 run zenoh_ros_services service_main
Terminal 2:
RMW_IMPLEMENTATION=rmw_zenoh_cpp ros2 run zenoh_ros_services client_main
You can also test with arithmetic!
Terminal 3: (Which will do 41 + 123 = 164)
RMW_IMPLEMENTATION=rmw_zenoh_cpp ros2 run zenoh_ros_services client_main 123
Test Timers
With this PR, timers will work as well! (rmw_wait will register a timeout and continue on whenever a timer call should be triggered.)
You may test it here (it's on a 3s timer):
RMW_IMPLEMENTATION=rmw_zenoh_cpp ros2 run zenoh_ros_timer timer_member_function