forked from ros2/rclcpp
-
Notifications
You must be signed in to change notification settings - Fork 0
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
use events exec instaed of single threded one #1
Open
jplapp
wants to merge
22
commits into
iron
Choose a base branch
from
events_executor_isolated
base: iron
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
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
HovorunB
approved these changes
Jan 9, 2024
This is to ensure callbacks are destroyed last on entities destruction, avoiding the gap in time in which rmw entities hold a reference to a destroyed function. Signed-off-by: Mauro Passerino <mpasserino@irobot.com> Co-authored-by: Mauro Passerino <mpasserino@irobot.com>
…2187) * add mutex to protect events_executor current entity collection and unit-test Signed-off-by: Alberto Soragna <alberto.soragna@gmail.com> * be more precise with mutex locks; make stress test less stressfull Signed-off-by: Alberto Soragna <alberto.soragna@gmail.com> * fix uncrustify error Signed-off-by: Alberto Soragna <alberto.soragna@gmail.com> --------- Signed-off-by: Alberto Soragna <alberto.soragna@gmail.com>
Signed-off-by: Chris Lalancette <clalancette@gmail.com>
…2#2267) * fix(ClientGoalHandle): Made mutex recursive to prevent deadlocks This prevents deadlocks in cases, were e.g. get_status() would be called on the handle in a callback of the handle. * test(rclcpp_action): Added test for deadlocks during access of a goal handle This test checks, if the code deadlocks, if methods on the goal handle are called from the callbacks. Signed-off-by: Janosch Machowinski <J.Machowinski@cellumation.com> Co-authored-by: Tomoya Fujita <Tomoya.Fujita@sony.com>
We need this because it is possible for one thread to be handling the on_parameter_event callback while another one is detaching the node. This lock will protect that from happening. Signed-off-by: Chris Lalancette <clalancette@gmail.com>
This reverts commit 018eb9b.
… when using intra-process communication (ros2#2303) * Add intra process transient local durability support to publisher and subscription Signed-off-by: Jeffery Hsu <jefferyyjhsu@gmail.com> * Remove durability_is_transient_local_ from publisher_base Signed-off-by: Jeffery Hsu <jefferyyjhsu@gmail.com> * Design changes that move most transient local publish functionalities out of intra process manager into intra process manager Signed-off-by: Jeffery Hsu <jefferyyjhsu@gmail.com> * Move transient local publish to a separate function Signed-off-by: Jeffery Hsu <jefferyyjhsu@gmail.com> * Remove publisher buffer weak ptr from intra process manager when it associated publisher is removed. Signed-off-by: Jeffery Hsu <jefferyyjhsu@gmail.com> * Remove incorrectly placed RCLCPP_PUBLIC Signed-off-by: Jeffery Hsu <jefferyyjhsu@gmail.com> * Add missing RCLCPP_PUBLIC Signed-off-by: Jeffery Hsu <jefferyyjhsu@gmail.com> * Expand RingBufferImplementation beyond shared_ptr and unique_ptr Signed-off-by: Jeffery Hsu <jefferyyjhsu@gmail.com> * Comment and format fix Signed-off-by: Jeffery Hsu <jefferyyjhsu@gmail.com> --------- Signed-off-by: Jeffery Hsu <jefferyyjhsu@gmail.com>
AMRNAV-6258 Use intra process communication
* added rclcpp::SerializedMessage support for AnySubscriptionCallback Signed-off-by: Joshua Hampp <j.hampp@denso-adas.de> Signed-off-by: Joshua Hampp <j.hampp@eu.denso.com> * using AnySubscription callback for generic subscriptiion Signed-off-by: Joshua Hampp <j.hampp@denso-adas.de> Signed-off-by: Joshua Hampp <j.hampp@eu.denso.com> * updated tests Signed-off-by: Joshua Hampp <j.hampp@denso-adas.de> Signed-off-by: Joshua Hampp <j.hampp@eu.denso.com> * Remove comment Signed-off-by: Joshua Hampp <j.hampp@eu.denso.com> --------- Signed-off-by: Joshua Hampp <j.hampp@denso-adas.de> Signed-off-by: Joshua Hampp <j.hampp@eu.denso.com> Co-authored-by: Joshua Hampp <j.hampp@denso-adas.de> Co-authored-by: Jacob Perron <jacob@openrobotics.org>
commit a8e279c Author: Joshua Hampp <j.hampp@denso-adas.de> Date: Mon Dec 11 15:52:34 2023 +0100 added test for SubscriptionIntraProcess with unique subscriber Signed-off-by: Joshua Hampp <j.hampp@denso-adas.de> commit 4f6e466 Author: Joshua Hampp <j.hampp@denso-adas.de> Date: Mon Dec 11 15:51:54 2023 +0100 extended test for shared callback to cover more use cases Signed-off-by: Joshua Hampp <j.hampp@denso-adas.de> commit 2115b26 Author: Joshua Hampp <j.hampp@denso-adas.de> Date: Mon Dec 11 14:11:21 2023 +0100 added test_intra_process_subscriber to test serialized communication with IPM Signed-off-by: Joshua Hampp <j.hampp@denso-adas.de> commit 9d37234 Author: Joshua Hampp <j.hampp@denso-adas.de> Date: Mon Nov 6 07:17:36 2023 +0100 updated SubscriptionTopicStatistics to current master Signed-off-by: Joshua Hampp <j.hampp@denso-adas.de> commit 280e7be Author: Joshua Hampp <j.hampp@eu.denso.com> Date: Mon May 22 11:18:02 2023 +0200 updated to rolling Signed-off-by: Joshua Hampp <j.hampp@eu.denso.com> commit 16fc15f Author: Joshua Hampp <j.hampp@eu.denso.com> Date: Mon May 8 13:53:30 2023 +0200 fixes due to rebase Signed-off-by: Joshua Hampp <j.hampp@denso-adas.de> Signed-off-by: Joshua Hampp <j.hampp@eu.denso.com> commit 3978f2a Author: Joshua Hampp <j.hampp@denso-adas.de> Date: Wed Aug 3 09:21:21 2022 +0200 added unit test for generic publisher/subscriber with intraprocess communication Signed-off-by: Joshua Hampp <j.hampp@denso-adas.de> Signed-off-by: Joshua Hampp <j.hampp@eu.denso.com> commit 245c868 Author: Joshua Hampp <j.hampp@denso-adas.de> Date: Mon Aug 1 13:03:43 2022 +0200 fixed duplicated messages for ipm and serialized messages Signed-off-by: Joshua Hampp <j.hampp@denso-adas.de> Signed-off-by: Joshua Hampp <j.hampp@eu.denso.com> commit e98c158 Author: Joshua Hampp <j.hampp@denso-adas.de> Date: Thu Jul 7 08:42:48 2022 +0200 added additional methods for create_generic_subscription Signed-off-by: Joshua Hampp <j.hampp@denso-adas.de> Signed-off-by: Joshua Hampp <j.hampp@eu.denso.com> commit c2501cf Author: Joshua Hampp <j.hampp@denso-adas.de> Date: Thu Jul 7 08:14:41 2022 +0200 updated test to ipm issue Signed-off-by: Joshua Hampp <j.hampp@denso-adas.de> Signed-off-by: Joshua Hampp <j.hampp@eu.denso.com> commit c9b148b Author: Joshua Hampp <j.hampp@denso-adas.de> Date: Thu Jul 7 08:14:18 2022 +0200 throwing error when subscription callback uses rclcpp::SerializedMessage and subscriber has a ros message type for intra process communication Signed-off-by: Joshua Hampp <j.hampp@denso-adas.de> Signed-off-by: Joshua Hampp <j.hampp@eu.denso.com> commit 667d8d2 Author: Joshua Hampp <j.hampp@denso-adas.de> Date: Thu Jul 7 08:13:15 2022 +0200 fixed intra process publish of serialized message Signed-off-by: Joshua Hampp <j.hampp@denso-adas.de> Signed-off-by: Joshua Hampp <j.hampp@eu.denso.com> commit 048c458 Author: Joshua Hampp <j.hampp@denso-adas.de> Date: Thu Jun 23 08:41:59 2022 +0200 using instead of typedef Signed-off-by: Joshua Hampp <j.hampp@denso-adas.de> Signed-off-by: Joshua Hampp <j.hampp@eu.denso.com> commit 098b6dd Author: Joshua Hampp <j.hampp@denso-adas.de> Date: Thu Jun 23 08:41:48 2022 +0200 splitted deserialization and message forwarding Signed-off-by: Joshua Hampp <j.hampp@denso-adas.de> Signed-off-by: Joshua Hampp <j.hampp@eu.denso.com> commit 158ab2c Author: Joshua Hampp <j.hampp@denso-adas.de> Date: Wed Jun 22 11:44:44 2022 +0200 removed specialization of GenericSubscription Signed-off-by: Joshua Hampp <j.hampp@denso-adas.de> Signed-off-by: Joshua Hampp <j.hampp@eu.denso.com> commit 7880677 Author: Joshua Hampp <j.hampp@denso-adas.de> Date: Wed Jun 22 10:30:15 2022 +0200 fix double return Signed-off-by: Joshua Hampp <j.hampp@denso-adas.de> Signed-off-by: Joshua Hampp <j.hampp@eu.denso.com> commit b4236b3 Author: Joshua Hampp <j.hampp@denso-adas.de> Date: Mon Jun 20 11:04:43 2022 +0200 enabled qos override Signed-off-by: Joshua Hampp <j.hampp@denso-adas.de> Signed-off-by: Joshua Hampp <j.hampp@eu.denso.com> commit f45d12b Author: Joshua Hampp <j.hampp@denso-adas.de> Date: Mon Jun 20 11:04:24 2022 +0200 added failure case at top Signed-off-by: Joshua Hampp <j.hampp@denso-adas.de> Signed-off-by: Joshua Hampp <j.hampp@eu.denso.com> commit ea9245e Author: Joshua Hampp <j.hampp@denso-adas.de> Date: Mon Jun 20 11:03:37 2022 +0200 added comment block Signed-off-by: Joshua Hampp <j.hampp@denso-adas.de> Signed-off-by: Joshua Hampp <j.hampp@eu.denso.com> commit 795a281 Author: Joshua Hampp <j.hampp@denso-adas.de> Date: Mon Jun 20 11:02:25 2022 +0200 fixed comment Signed-off-by: Joshua Hampp <j.hampp@denso-adas.de> Signed-off-by: Joshua Hampp <j.hampp@eu.denso.com> commit de29d0e Author: Joshua Hampp <j.hampp@denso-adas.de> Date: Mon Jun 20 07:46:27 2022 +0200 renamed to Indices Signed-off-by: Joshua Hampp <j.hampp@denso-adas.de> Signed-off-by: Joshua Hampp <j.hampp@eu.denso.com> commit 9e16b43 Author: DensoADAS <46967124+DensoADAS@users.noreply.github.com> Date: Mon Jun 20 08:10:57 2022 +0200 Update rclcpp/include/rclcpp/experimental/subscription_intra_process_base.hpp Signed-off-by: Joshua Hampp <j.hampp@denso-adas.de> Co-authored-by: Jacob Perron <jacob@openrobotics.org> Signed-off-by: Joshua Hampp <j.hampp@eu.denso.com> commit 9b5fd63 Author: DensoADAS <46967124+DensoADAS@users.noreply.github.com> Date: Mon Jun 20 08:10:50 2022 +0200 Update rclcpp/include/rclcpp/experimental/subscription_intra_process_base.hpp Signed-off-by: Joshua Hampp <j.hampp@denso-adas.de> Co-authored-by: Jacob Perron <jacob@openrobotics.org> Signed-off-by: Joshua Hampp <j.hampp@eu.denso.com> commit 4cbc678 Author: Joshua Hampp <j.hampp@denso-adas.de> Date: Tue May 17 09:02:15 2022 +0200 using const modifier Signed-off-by: Joshua Hampp <j.hampp@denso-adas.de> Signed-off-by: Joshua Hampp <j.hampp@eu.denso.com> commit c8fd558 Author: Joshua Hampp <j.hampp@denso-adas.de> Date: Tue May 17 09:02:05 2022 +0200 updated comments Signed-off-by: Joshua Hampp <j.hampp@denso-adas.de> Signed-off-by: Joshua Hampp <j.hampp@eu.denso.com> commit 4a34d97 Author: Joshua Hampp <j.hampp@denso-adas.de> Date: Tue May 17 09:01:45 2022 +0200 renamed to SplitSubscriptionsIndices and changed datatype to unsigned Signed-off-by: Joshua Hampp <j.hampp@denso-adas.de> Signed-off-by: Joshua Hampp <j.hampp@eu.denso.com> commit bb09e50 Author: Joshua Hampp <j.hampp@denso-adas.de> Date: Fri May 13 10:27:52 2022 +0200 added ipm for generic_subscription Signed-off-by: Joshua Hampp <j.hampp@denso-adas.de> Signed-off-by: Joshua Hampp <j.hampp@eu.denso.com> commit 2a28f60 Author: Joshua Hampp <j.hampp@denso-adas.de> Date: Fri May 13 10:27:34 2022 +0200 updated tests Signed-off-by: Joshua Hampp <j.hampp@denso-adas.de> Signed-off-by: Joshua Hampp <j.hampp@eu.denso.com> commit 18c9259 Author: Joshua Hampp <j.hampp@denso-adas.de> Date: Thu May 12 14:28:25 2022 +0200 updated tests Signed-off-by: Joshua Hampp <j.hampp@denso-adas.de> Signed-off-by: Joshua Hampp <j.hampp@eu.denso.com> commit 1f1f28f Author: Joshua Hampp <j.hampp@denso-adas.de> Date: Thu May 12 14:28:03 2022 +0200 updated publisher/subcription factories Signed-off-by: Joshua Hampp <j.hampp@denso-adas.de> Signed-off-by: Joshua Hampp <j.hampp@eu.denso.com> commit 33cb9dc Author: Joshua Hampp <j.hampp@denso-adas.de> Date: Thu May 12 14:27:41 2022 +0200 * publish std::unique_ptr<rclcpp::SerializedMessage> support with ipm * publisher constructor with message type support Signed-off-by: Joshua Hampp <j.hampp@denso-adas.de> Signed-off-by: Joshua Hampp <j.hampp@eu.denso.com> commit 636e076 Author: Joshua Hampp <j.hampp@denso-adas.de> Date: Thu May 12 14:26:20 2022 +0200 added rclcpp::SerializedMessage support to IPM Signed-off-by: Joshua Hampp <j.hampp@denso-adas.de> Signed-off-by: Joshua Hampp <j.hampp@eu.denso.com>
AMRNAV-6339 Enable IPC for rosbag recorder and foxglove bridge: Support IPC for serialized subscribers
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.
Events Executor is significantly faster than the default single threaded one -> use it for the composable nodes container