-
Notifications
You must be signed in to change notification settings - Fork 117
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
New environment variable to change easily the publication mode #470
Conversation
Signed-off-by: JLBuenoLopez-eProsima <joseluisbueno@eprosima.com>
Signed-off-by: JLBuenoLopez-eProsima <joseluisbueno@eprosima.com>
Signed-off-by: JLBuenoLopez-eProsima <joseluisbueno@eprosima.com>
If you agree that it is interesting to use this environment variable in other rmw implementations, I assume that I should document this new variable in some other more general repository. I would be grateful if you could tell me where. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@JLBuenoLopez-eProsima to configure modes like this would be an interesting feature, but to put it in the rmw
API spec we have to unambiguously define what each mode entails, decide on what the best granularity for configuration would be, and how should implementations that lack support for some (or all) of these modes behave.
Either a design document or a draft update to rmw
documentation could kickstart the discussion.
CC @wjwwood @ivanpauno for thoughts on making (or not making) this an |
Considering this option is only supported in |
Agreed. I do not think we want |
Our line of thought was following the one discussed in ros2/ros2#255, #343, and ros2/rmw_cyclonedds#89. From those discussions, it can be concluded that asynchronous publishing is indeed a requirement for the middlewares, and that having a synchronous mode is optional. In fact, #343 was not merged because of this, even though synchronous publication has better latency performance that can compete with that of other vendors. IMHO there are cases when applications benefit more from one than the other. We have in fact dealt with issues regarding this over and over, where we recommend changing the publication mode. However, this is currently cumbersome since it involves XML configuration files + environment variables. In that sense, I think it's better to make it as easy as possible for the user to make the change (because why not). In fact, I think this could be part of the upper-level API, so it can be configured programatically from the beginning. In that sense, maybe the publish mode configuration could be publisher based, publication based, context based, etc. Sure right now it's only Fast DDS who can make the switch, but that is just because no other vendors (apart from connext) meet the requirement regarding this. However, that might change in the future, so having an mechanism already in place would benefit everyone. Furthermore, user have easier access to upper-layer documentations, so it'll simply get more visibility upstream than just being a Fast DDS specific thing (when it should not). This will also entail letting the user know when the variable does not apply when using other RMWs, which is probably a good thing, since it let's the user know about the middleware behaviour, instead of being different from one RMW to the other without the user knowing or even wanting. Also, there are other cases were environment variables change ROS behaviour. An example of it would be |
Signed-off-by: JLBuenoLopez-eProsima <joseluisbueno@eprosima.com>
Signed-off-by: JLBuenoLopez-eProsima <joseluisbueno@eprosima.com>
Yes, but in my opinion that should be a QoS setting that you set when you create a publisher, not an environment variable.
For me the important difference (which makes |
I completely agree with this vision. It'd be great to be able to create a publisher with either publication mode. The thing is that currently this is not possible, that's why we wanted some way to make it easier for the user to do so. I think this is related to some discussions held here and there, about how to design an API that is agnostic of the specific middleware, while at the same time lets the user really tune the middleware (https://discourse.ros.org/t/restricting-communication-between-robots/2931/15?u=eduponz). I'm very much ok with setting the name to something like Such set of requirements may be worked out in the middleware working group, and could also help the decision of the default middleware. They'd most importantly be very beneficial for the community as a whole, since they would push development towards the real end-users needs. The requirement would also help designing what QoS are configured programatically; if a feature is required, it should be configurable via QoS. IMO this would be a very interesting discussion to have if you guys are up to moving it somewhere else. Doing so, we would avoid the somewhat unorthodox way of configuring with XML we have right now.
You are completely right, the change will significantly affect the behaviour of the call. However, I do not think that's a bad thing in itself, as long as the implications are well documented. @JLBuenoLopez-eProsima , what do you think about explaining a bit more the difference between the modes in the README file? |
Signed-off-by: JLBuenoLopez-eProsima <joseluisbueno@eprosima.com>
Please read last commit. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Some suggestions in the docs
Co-authored-by: Eduardo Ponz Segrelles <eduardoponz@eprosima.com> Signed-off-by: JLBuenoLopez-eProsima <joseluisbueno@eprosima.com>
654b16e
to
de3dce7
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I have been studying the test that is failing in MacOS ( Therefore, the MacOS failures seem unrelated to this pull request and a more in-depth analysis of this test should be done.
|
Great. Thanks for the clarification. Would you mind adding that sentence to the documentation? |
Indeed. I can see flakes in MacOS nightlies. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM once #470 (comment) is addressed.
Signed-off-by: JLBuenoLopez-eProsima <joseluisbueno@eprosima.com>
Last commit (f633b62) explains the precedence between both environment variables. It also clarifies the relationship between the XML file and |
Hi @hidmic , Do you think this is good to go then? IMHO, it provides the users of |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Another approval would be nice @wjwwood @ivanpauno @mjeronimo. |
Signed-off-by: JLBuenoLopez-eProsima <joseluisbueno@eprosima.com>
Nothing else to be added. Thanks for the patience! |
Thanks so much to everybody to push this further! |
ros-rolling-rmw-fastrtps-cpp (6.2.1-1jammy) jammy; urgency=high . * Add pub/sub init, publish and take instrumentation using tracetools (#591 <ros2/rmw_fastrtps#591>) * Add content filter topic feature (#513 <ros2/rmw_fastrtps#513>) * Add sequence numbers to message info structure (#587 <ros2/rmw_fastrtps#587>) * Removed some heap interactions in rmw_serialize.cpp (#590 <ros2/rmw_fastrtps#590>) * Contributors: Chen Lihui, Christophe Bedard, Ivan Santiago Paunovic, WideAwakeTN . ros-rolling-rmw-fastrtps-cpp (6.2.0-1jammy) jammy; urgency=high . * Add EventsExecutor (#468 <ros2/rmw_fastrtps#468>) * Install headers to include/${PROJECT_NAME} (#578 <ros2/rmw_fastrtps#578>) * Contributors: Shane Loretz, iRobot ROS . ros-rolling-rmw-fastrtps-cpp (6.1.2-1jammy) jammy; urgency=high . . . ros-rolling-rmw-fastrtps-cpp (6.1.1-1jammy) jammy; urgency=high . . . ros-rolling-rmw-fastrtps-cpp (6.1.0-1jammy) jammy; urgency=high . * Add client/service QoS getters. (#560 <ros2/rmw_fastrtps#560>) * Contributors: mauropasse . ros-rolling-rmw-fastrtps-cpp (6.0.0-1jammy) jammy; urgency=high . . . ros-rolling-rmw-fastrtps-cpp (5.2.2-1jammy) jammy; urgency=high . * Correctly recalculate serialized size on bounded sequences. (#540 <ros2/rmw_fastrtps#540>) * Fix type size alignment. (#550 <ros2/rmw_fastrtps#550>) * Contributors: Miguel Company . ros-rolling-rmw-fastrtps-cpp (5.2.1-1jammy) jammy; urgency=high . * Change links from index.ros.org -> docs.ros.org (#539 <ros2/rmw_fastrtps#539>) * Contributors: Chris Lalancette . ros-rolling-rmw-fastrtps-cpp (5.2.0-1jammy) jammy; urgency=high . * Add rmw_publisher_wait_for_all_acked support. (#519 <ros2/rmw_fastrtps#519>) * Contributors: Barry Xu . ros-rolling-rmw-fastrtps-cpp (5.1.0-1jammy) jammy; urgency=high . * Loan messages implementation (#523 <ros2/rmw_fastrtps#523>) * Added is_plain_ attribute to base TypeSupport. * Added new methods to base TypeSupport. * Implementation of rmw_borrow_loaned_message. * Implementation of rmw_return_loaned_message_from_publisher. * Enable loan messages on publishers of plain types. * Implementation for taking loaned messages. * Enable loan messages on subscriptions of plain types. * Contributors: Miguel Company . ros-rolling-rmw-fastrtps-cpp (5.0.0-1jammy) jammy; urgency=high . * Refactor to use DDS standard API (#518 <ros2/rmw_fastrtps#518>) * Unique network flows (#502 <ros2/rmw_fastrtps#502>) * updating quality declaration links (re: ros2/docs.ros2.org#52 <ros2/docs.ros2.org#52>) (#520 <ros2/rmw_fastrtps#520>) * Contributors: Miguel Company, shonigmann . ros-rolling-rmw-fastrtps-cpp (4.5.0-1jammy) jammy; urgency=high . . . ros-rolling-rmw-fastrtps-cpp (4.4.0-1jammy) jammy; urgency=high . * Add RMW function to check QoS compatibility (#511 <ros2/rmw_fastrtps#511>) * Capture cdr exceptions (#505 <ros2/rmw_fastrtps#505>) * Contributors: Jacob Perron, Miguel Company . ros-rolling-rmw-fastrtps-cpp (4.3.0-1jammy) jammy; urgency=high . * Load profiles based on topic names (#335 <ros2/rmw_fastrtps#335>) * Set rmw_dds_common::GraphCache callback after init succeeds. (#496 <ros2/rmw_fastrtps#496>) * Handle typesupport errors on fetch. (#495 <ros2/rmw_fastrtps#495>) * Contributors: Eduardo Ponz Segrelles, Michel Hidalgo . ros-rolling-rmw-fastrtps-cpp (4.2.0-1jammy) jammy; urgency=high . . . ros-rolling-rmw-fastrtps-cpp (4.1.0-1jammy) jammy; urgency=high . * Check for correct context shutdown (#486 <ros2/rmw_fastrtps#486>) * New environment variable to change easily the publication mode (#470 <ros2/rmw_fastrtps#470>) * Contributors: Ignacio Montesino Valle, José Luis Bueno López . ros-rolling-rmw-fastrtps-cpp (4.0.0-1jammy) jammy; urgency=high . * Discriminate when the Client has gone from when the Client has not completely matched (#467 <ros2/rmw_fastrtps#467>) * Workaround when the client is gone before server sends response * Change add to the map to listener callback * Update the package.xml files with the latest Open Robotics maintainers (#459 <ros2/rmw_fastrtps#459>) * Update Quality Declarations and READMEs (#455 <ros2/rmw_fastrtps#455>) * Add QD links for dependencies to rmw_fastrtps_cpp QD * Provide external dependencies QD links * Update rmw_fastrtps README to use Fast DDS * Update rmw_fastrtps_cpp QD: Fast DDS & unit test * Update README rmw_fastrtps_cpp to QL2 * Contributors: JLBuenoLopez-eProsima, Jaime Martin Losa, José Luis Bueno López, Michael Jeronimo . ros-rolling-rmw-fastrtps-cpp (3.1.4-1jammy) jammy; urgency=high . * Perform fault injection in all creation/destruction APIs. (#453 <ros2/rmw_fastrtps#453>) * Ensure rmw_destroy_node() completes despite run-time errors. (#458 <ros2/rmw_fastrtps#458>) * Update rmw_fastrtps_cpp and rmw_fastrtps_shared_cpp QDs to QL2. (#456 <ros2/rmw_fastrtps#456>) * Contributors: Michel Hidalgo . ros-rolling-rmw-fastrtps-cpp (3.1.3-1jammy) jammy; urgency=high . * Return RMW_RET_UNSUPPORTED in rmw_get_serialized_message_size (#452 <ros2/rmw_fastrtps#452>) * Contributors: Alejandro Hernández Cordero . ros-rolling-rmw-fastrtps-cpp (3.1.2-1jammy) jammy; urgency=high . * Updated publisher/subscription allocation and wait set API return codes (#443 <ros2/rmw_fastrtps#443>) * Added rmw_logging tests (#442 <ros2/rmw_fastrtps#442>) * Contributors: Alejandro Hernández Cordero . ros-rolling-rmw-fastrtps-cpp (3.1.1-1jammy) jammy; urgency=high . * Make service/client construction/destruction implementation compliant (#445 <ros2/rmw_fastrtps#445>) * Make sure type can be unregistered successfully (#437 <ros2/rmw_fastrtps#437>) * Contributors: Barry Xu, Michel Hidalgo . ros-rolling-rmw-fastrtps-cpp (3.1.0-1jammy) jammy; urgency=high . * Add tests for native entity getters. (#439 <ros2/rmw_fastrtps#439>) * Avoid deadlock if graph update fails. (#438 <ros2/rmw_fastrtps#438>) * Contributors: Michel Hidalgo . ros-rolling-rmw-fastrtps-cpp (3.0.0-1jammy) jammy; urgency=high . * Call Domain::removePublisher while failure occurs in create_publisher (#434 <ros2/rmw_fastrtps#434>) * Contributors: Barry Xu . ros-rolling-rmw-fastrtps-cpp (2.6.0-1jammy) jammy; urgency=high . * Ensure compliant matched pub/sub count API. (#424 <ros2/rmw_fastrtps#424>) * Ensure compliant publisher QoS queries. (#425 <ros2/rmw_fastrtps#425>) * Contributors: Michel Hidalgo . ros-rolling-rmw-fastrtps-cpp (2.5.0-1jammy) jammy; urgency=high . . . ros-rolling-rmw-fastrtps-cpp (2.4.0-1jammy) jammy; urgency=high . * Ensure compliant subscription API. (#419 <ros2/rmw_fastrtps#419>) * Contributors: Michel Hidalgo . ros-rolling-rmw-fastrtps-cpp (2.3.0-1jammy) jammy; urgency=high . * Ensure compliant publisher API. (#414 <ros2/rmw_fastrtps#414>) * Contributors: Michel Hidalgo . ros-rolling-rmw-fastrtps-cpp (2.2.0-1jammy) jammy; urgency=high . * Set context actual domain id (#410 <ros2/rmw_fastrtps#410>) * Contributors: Ivan Santiago Paunovic . ros-rolling-rmw-fastrtps-cpp (2.1.0-1jammy) jammy; urgency=high . * Ensure compliant node construction/destruction API. (#408 <ros2/rmw_fastrtps#408>) * Contributors: Michel Hidalgo . ros-rolling-rmw-fastrtps-cpp (2.0.0-1jammy) jammy; urgency=high . * Remove domain_id and localhost_only from node API (#407 <ros2/rmw_fastrtps#407>) * Amend rmw_init() implementation: require enclave. (#406 <ros2/rmw_fastrtps#406>) * Update Quality Declarations to QL3. (#404 <ros2/rmw_fastrtps#404>) * Contributors: Ivan Santiago Paunovic, Michel Hidalgo . ros-rolling-rmw-fastrtps-cpp (1.1.0-1jammy) jammy; urgency=high . * Ensure compliant init/shutdown API implementation. (#401 <ros2/rmw_fastrtps#401>) * Update Quality Declaration to QL3. (#403 <ros2/rmw_fastrtps#403>) * Finalize context iff shutdown. (#396 <ros2/rmw_fastrtps#396>) * Make service wait for response reader (#390 <ros2/rmw_fastrtps#390>) * Contributors: Michel Hidalgo, Miguel Company . ros-rolling-rmw-fastrtps-cpp (1.0.1-1jammy) jammy; urgency=high . * Add Security Vulnerability Policy pointing to REP-2006 (#389 <ros2/rmw_fastrtps#389>) * Update QDs for 1.0 (#383 <ros2/rmw_fastrtps#383>) * Contributors: Chris Lalancette, Stephen Brawner . ros-rolling-rmw-fastrtps-cpp (1.0.0-1jammy) jammy; urgency=high . * Remove API related to manual by node liveliness. (#379 <ros2/rmw_fastrtps#379>) * Update quality declarations on feature testing. (#380 <ros2/rmw_fastrtps#380>) * Contributors: Ivan Santiago Paunovic, Michel Hidalgo . ros-rolling-rmw-fastrtps-cpp (0.9.1-1jammy) jammy; urgency=high . * Add package READMEs and QUALITY_DECLARATION files (#375 <ros2/rmw_fastrtps#375>) * Added doxyfiles (#372 <ros2/rmw_fastrtps#372>) * Contributors: Alejandro Hernández Cordero, brawner . ros-rolling-rmw-fastrtps-cpp (0.9.0-1jammy) jammy; urgency=high . * Add missing export of rmw_dds_common. (#374 <ros2/rmw_fastrtps#374>) * Rename rosidl_message_bounds_t. (#373 <ros2/rmw_fastrtps#373>) * Feature/services timestamps. (#369 <ros2/rmw_fastrtps#369>) * Add support for taking a sequence of messages. (#366 <ros2/rmw_fastrtps#366>) * security-context -> enclave. (#365 <ros2/rmw_fastrtps#365>) * Rename rosidl_generator_c namespace to rosidl_runtime_c. (#367 <ros2/rmw_fastrtps#367>) * Remove custom typesupport for rmw_dds_common interfaces. (#364 <ros2/rmw_fastrtps#364>) * Added rosidl_runtime c and cpp depencencies. (#351 <ros2/rmw_fastrtps#351>) * Switch to one Participant per Context. (#312 <ros2/rmw_fastrtps#312>) * Add rmw_*_event_init() functions. (#354 <ros2/rmw_fastrtps#354>) * Fixing type support C/CPP mix on rmw_fastrtps_dynamic_cpp. (#350 <ros2/rmw_fastrtps#350>) * Fix build warning in Ubuntu Focal. (#346 <ros2/rmw_fastrtps#346>) * Code style only: wrap after open parenthesis if not in one line. (#347 <ros2/rmw_fastrtps#347>) * Passing down type support information (#342 <ros2/rmw_fastrtps#342>) * Implement functions to get publisher and subcription informations like QoS policies from topic name. (#336 <ros2/rmw_fastrtps#336>) * Contributors: Alejandro Hernández Cordero, Dirk Thomas, Ingo Lütkebohle, Ivan Santiago Paunovic, Jaison Titus, Miaofei Mei, Michael Carroll, Miguel Company, Mikael Arguedas . ros-rolling-rmw-fastrtps-cpp (0.8.1-1jammy) jammy; urgency=high . * use return_loaned_message_from (#334 <ros2/rmw_fastrtps#334>) * Restrict traffic to localhost only if env var is provided (#331 <ros2/rmw_fastrtps#331>) * Zero copy api (#322 <ros2/rmw_fastrtps#322>) * update signature for added pub/sub options (#329 <ros2/rmw_fastrtps#329>) * Contributors: Brian Marchi, Karsten Knese, William Woodall . ros-rolling-rmw-fastrtps-cpp (0.8.0-1jammy) jammy; urgency=high . * Add function for getting clients by node (#293 <ros2/rmw_fastrtps#293>) * Implement get_actual_qos() for subscriptions (#287 <ros2/rmw_fastrtps#287>) * Fix error message (#290 <ros2/rmw_fastrtps#290>) * Contributors: Jacob Perron, M. M . ros-rolling-rmw-fastrtps-cpp (0.7.3-1jammy) jammy; urgency=high . . . ros-rolling-rmw-fastrtps-cpp (0.7.2-1jammy) jammy; urgency=high . * Centralize topic name creation logic and update to match FastRTPS 1.8 API (#272 <ros2/rmw_fastrtps#272>) * Contributors: Nick Burek . ros-rolling-rmw-fastrtps-cpp (0.7.1-1jammy) jammy; urgency=high . * Support arbitrary message namespaces (#266 <ros2/rmw_fastrtps#266>) * Add qos interfaces with no-op (#271 <ros2/rmw_fastrtps#271>) * Updates for preallocation API. (#274 <ros2/rmw_fastrtps#274>) * Contributors: Jacob Perron, Michael Carroll, Ross Desmond . ros-rolling-rmw-fastrtps-cpp (0.7.0-1jammy) jammy; urgency=high . * Add function to get publisher actual qos settings (#267 <ros2/rmw_fastrtps#267>) * pass context to wait set and fini context (#252 <ros2/rmw_fastrtps#252>) * Improve service_is_available logic to protect that client is waiting forever (#238 <ros2/rmw_fastrtps#238>) * Merge pull request #250 <ros2/rmw_fastrtps#250> from ros2/support_static_lib * use namespace_prefix from shared package * Contributors: Dirk Thomas, DongheeYe, William Woodall, ivanpauno . ros-rolling-rmw-fastrtps-cpp (0.6.1-1jammy) jammy; urgency=high . * Add topic cache object for managing topic relations (#236 <ros2/rmw_fastrtps#236>) * Fastrtps 1.7.0 (#233 <ros2/rmw_fastrtps#233>) * RMW_FastRTPS configuration from XML only (#243 <ros2/rmw_fastrtps#243>) * refactor to support init options and context (#237 <ros2/rmw_fastrtps#237>) * Methods to retrieve matched counts on pub/sub (#234 <ros2/rmw_fastrtps#234>) * use uint8_array (#240 <ros2/rmw_fastrtps#240>) * Contributors: Juan Carlos, Karsten Knese, Michael Carroll, MiguelCompany, Ross Desmond, William Woodall . ros-rolling-rmw-fastrtps-cpp (0.6.0-1jammy) jammy; urgency=high . * Add semicolons to all RCLCPP and RCUTILS macros. (#229 <ros2/rmw_fastrtps#229>) * Include node namespaces in get_node_names (#224 <ros2/rmw_fastrtps#224>) * add rmw_get_serialization_format (#215 <ros2/rmw_fastrtps#215>) * Merge pull request #218 <ros2/rmw_fastrtps#218> from ros2/pr203 * Revert "fix template closing indentation (#214 <ros2/rmw_fastrtps#214>)" * fix template closing indentation (#214 <ros2/rmw_fastrtps#214>) * Contributors: Chris Lalancette, Dirk Thomas, Karsten Knese, Michael Carroll, Miguel Company, Mikael Arguedas . ros-rolling-rmw-fastrtps-cpp (0.5.1-1jammy) jammy; urgency=high . * update maintainer * Contributors: Dirk Thomas . ros-rolling-rmw-fastrtps-cpp (0.5.0-1jammy) jammy; urgency=high . * Avoid allocations (#211 <ros2/rmw_fastrtps#211>) * Temporary buffer remove (#207 <ros2/rmw_fastrtps#207>) * Validate the buffer_ of CustomServiceRequest object before using it to (#210 <ros2/rmw_fastrtps#210>) * update usage of rcutils_join_path() (#208 <ros2/rmw_fastrtps#208>) * Expose raw CDR stream for publish and subscribe (#186 <ros2/rmw_fastrtps#186>) * Remove topic partitions (#192 <ros2/rmw_fastrtps#192>) * Fix leak if client reponse is never taken (#201 <ros2/rmw_fastrtps#201>) * Revert "Export rmw_fastrtps_cpp target" (#200 <ros2/rmw_fastrtps#200>) * Support access control (#197 <ros2/rmw_fastrtps#197>) * Export rmw_fastrtps_cpp target (#198 <ros2/rmw_fastrtps#198>) * Fix deserialization segfault in bionic. (#199 <ros2/rmw_fastrtps#199>) * Fix namespaces (#196 <ros2/rmw_fastrtps#196>) * Merge pull request #182 <ros2/rmw_fastrtps#182> from ros2/node_name_in_user_data * add participant listener * add node name to user data * change export order for static linking (#190 <ros2/rmw_fastrtps#190>) * update style (#189 <ros2/rmw_fastrtps#189>) * optimize timeout judgement according to different condition (#187 <ros2/rmw_fastrtps#187>) * use existing check_wait_set_for_data to avoid duplicated code (#185 <ros2/rmw_fastrtps#185>) * Enable logging level manipulation from rmw_fastrtps (#156 <ros2/rmw_fastrtps#156>) * Small performance improvements (#183 <ros2/rmw_fastrtps#183>) * Segmentation error to dereference nullptr (#180 <ros2/rmw_fastrtps#180>) * Contributors: Dirk Thomas, Ethan Gao, Guillaume Autran, Karsten Knese, Michael Carroll, MiguelCompany, Mikael Arguedas, Minggang Wang, Rohit Salem, Shane Loretz, Sriram Raghunathan, William Woodall, jwang11 . ros-rolling-rmw-fastrtps-cpp (0.4.0-1jammy) jammy; urgency=high . * Merge pull request #178 <ros2/rmw_fastrtps#178> from ros2/fix_wrong_count * Merge pull request #177 <ros2/rmw_fastrtps#177> from ros2/rename_group * Wait set two words (#175 <ros2/rmw_fastrtps#175>) * not exporting pthread manually (#174 <ros2/rmw_fastrtps#174>) * Merge pull request #169 <ros2/rmw_fastrtps#169> from ros2/rep149 * Merge pull request #171 <ros2/rmw_fastrtps#171> from jwang11/master * rcutils_join_path returns a char * now. (#173 <ros2/rmw_fastrtps#173>) * memory leak issue (#172 <ros2/rmw_fastrtps#172>) * Unify and simplify de/serializeROSmessage processing * Avoid duplicated code in calculateMaxSerializedSize for array and normal member (#168 <ros2/rmw_fastrtps#168>) * Fix the issues to dereference to nullptr (#165 <ros2/rmw_fastrtps#165>) * Fix rmw_fastrtps dead code (#163 <ros2/rmw_fastrtps#163>) * Merge pull request #167 <ros2/rmw_fastrtps#167> from deng02/tune-count-pub-sub * Remove string allocation in the count of subscribers and publishers * use auto deduction and nullptr to keep coding style consistent (#162 <ros2/rmw_fastrtps#162>) * Merge pull request #164 <ros2/rmw_fastrtps#164> from dejanpan/master * Fix several parameter check issues in rmw_fastrtps_cpp apis * Remove unnecessary dependency on rosidl_generator_cpp (#161 <ros2/rmw_fastrtps#161>) * Move the hasData checks for non-blocking wait 'timeout' higher (#158 <ros2/rmw_fastrtps#158>) * Support loading default XML profile file (#153 <ros2/rmw_fastrtps#153>) * Drop duplicated rmw_init.cpp in rmw_fastrtps_cpp/CMakeLists.txt (#155 <ros2/rmw_fastrtps#155>) * Merge pull request #154 <ros2/rmw_fastrtps#154> from ros2/uncrustify_master * Removing magic numbers: old maximun lengths (#152 <ros2/rmw_fastrtps#152>)
ros-rolling-rmw-fastrtps-shared-cpp (6.2.1-1jammy) jammy; urgency=high . * Address linter waning for windows. (#592 <ros2/rmw_fastrtps#592>) * Add pub/sub init, publish and take instrumentation using tracetools (#591 <ros2/rmw_fastrtps#591>) * Add content filter topic feature (#513 <ros2/rmw_fastrtps#513>) * Add sequence numbers to message info structure (#587 <ros2/rmw_fastrtps#587>) * Contributors: Chen Lihui, Christophe Bedard, Ivan Santiago Paunovic, Tomoya Fujita . ros-rolling-rmw-fastrtps-shared-cpp (6.2.0-1jammy) jammy; urgency=high . * Add EventsExecutor (#468 <ros2/rmw_fastrtps#468>) * Complete events support (#583 <ros2/rmw_fastrtps#583>) * Install headers to include/${PROJECT_NAME} (#578 <ros2/rmw_fastrtps#578>) * Change default to synchronous (#571 <ros2/rmw_fastrtps#571>) * Contributors: Audrow Nash, Miguel Company, Shane Loretz, iRobot ROS . ros-rolling-rmw-fastrtps-shared-cpp (6.1.2-1jammy) jammy; urgency=high . * Fix cpplint error (#574 <ros2/rmw_fastrtps#574>) * Contributors: Jacob Perron . ros-rolling-rmw-fastrtps-shared-cpp (6.1.1-1jammy) jammy; urgency=high . * Fixes for uncrustify 0.72 (#572 <ros2/rmw_fastrtps#572>) * Contributors: Chris Lalancette . ros-rolling-rmw-fastrtps-shared-cpp (6.1.0-1jammy) jammy; urgency=high . * Add client/service QoS getters. (#560 <ros2/rmw_fastrtps#560>) * Fix QoS depth settings for clients/service being ignored. (#564 <ros2/rmw_fastrtps#564>) * Contributors: Chen Lihui, mauropasse . ros-rolling-rmw-fastrtps-shared-cpp (6.0.0-1jammy) jammy; urgency=high . * Update rmw_context_impl_t definition. (#558 <ros2/rmw_fastrtps#558>) * Update the LoanManager to do internal locking. (#552 <ros2/rmw_fastrtps#552>) * Contributors: Chris Lalancette, Michel Hidalgo . ros-rolling-rmw-fastrtps-shared-cpp (5.2.2-1jammy) jammy; urgency=high . * Pass the CRL down to Fast-DDS if available. (#546 <ros2/rmw_fastrtps#546>) * Contributors: Chris Lalancette . ros-rolling-rmw-fastrtps-shared-cpp (5.2.1-1jammy) jammy; urgency=high . * Use the new rmw_dds_common::get_security_files (#544 <ros2/rmw_fastrtps#544>) * Support for SubscriptionOptions::ignore_local_publications (#536 <ros2/rmw_fastrtps#536>) * Change links from index.ros.org -> docs.ros.org (#539 <ros2/rmw_fastrtps#539>) * Contributors: Chris Lalancette, Jose Antonio Moral . ros-rolling-rmw-fastrtps-shared-cpp (5.2.0-1jammy) jammy; urgency=high . * Add rmw_publisher_wait_for_all_acked support. (#519 <ros2/rmw_fastrtps#519>) * Contributors: Barry Xu . ros-rolling-rmw-fastrtps-shared-cpp (5.1.0-1jammy) jammy; urgency=high . * Loan messages implementation (#523 <ros2/rmw_fastrtps#523>) * Added is_plain_ attribute to base TypeSupport. * Added new methods to base TypeSupport. * Implementation of rmw_borrow_loaned_message. * Implementation of rmw_return_loaned_message_from_publisher. * Enable loan messages on publishers of plain types. * Implementation for taking loaned messages. * Enable loan messages on subscriptions of plain types. * Export rmw_dds_common as an rmw_fastrtps_shared_cpp dependency (#530 <ros2/rmw_fastrtps#530>) * Update includes after rcutils/get_env.h deprecation (#529 <ros2/rmw_fastrtps#529>) * Contributors: Christophe Bedard, Michel Hidalgo, Miguel Company . ros-rolling-rmw-fastrtps-shared-cpp (5.0.0-1jammy) jammy; urgency=high . * Refactor to use DDS standard API (#518 <ros2/rmw_fastrtps#518>) * Unique network flows (#502 <ros2/rmw_fastrtps#502>) * updating quality declaration links (re: ros2/docs.ros2.org#52 <ros2/docs.ros2.org#52>) (#520 <ros2/rmw_fastrtps#520>) * Contributors: Miguel Company, shonigmann . ros-rolling-rmw-fastrtps-shared-cpp (4.5.0-1jammy) jammy; urgency=high . * Take and return new RMW_DURATION_INFINITE correctly (#515 <ros2/rmw_fastrtps#515>) * Contributors: Emerson Knapp . ros-rolling-rmw-fastrtps-shared-cpp (4.4.0-1jammy) jammy; urgency=high . * Add RMW function to check QoS compatibility (#511 <ros2/rmw_fastrtps#511>) * Capture cdr exceptions (#505 <ros2/rmw_fastrtps#505>) * Contributors: Jacob Perron, Miguel Company . ros-rolling-rmw-fastrtps-shared-cpp (4.3.0-1jammy) jammy; urgency=high . . . ros-rolling-rmw-fastrtps-shared-cpp (4.2.0-1jammy) jammy; urgency=high . * Make sure to lock the mutex protecting client_endpoints_. (#492 <ros2/rmw_fastrtps#492>) * Contributors: Chris Lalancette . ros-rolling-rmw-fastrtps-shared-cpp (4.1.0-1jammy) jammy; urgency=high . * Use interface whitelist for localhost only (#476 <ros2/rmw_fastrtps#476>) * Make use of error return value in decrement_context_impl_ref_count (#488 <ros2/rmw_fastrtps#488>) * Remove unnecessary includes (#487 <ros2/rmw_fastrtps#487>) * Use new time_utils function to limit rmw_time_t values to 32-bits (#485 <ros2/rmw_fastrtps#485>) * New environment variable to change easily the publication mode (#470 <ros2/rmw_fastrtps#470>) * Remove unused headers MessageTypeSupport.hpp and ServiceTypeSupport.hpp (#481 <ros2/rmw_fastrtps#481>) * Contributors: Jacob Perron, José Luis Bueno López, Michael Jeronimo, Miguel Company, Stephen Brawner . ros-rolling-rmw-fastrtps-shared-cpp (4.0.0-1jammy) jammy; urgency=high . * Discriminate when the Client has gone from when the Client has not completely matched (#467 <ros2/rmw_fastrtps#467>) * Workaround when the client is gone before server sends response * Change add to the map to listener callback * Update the package.xml files with the latest Open Robotics maintainers (#459 <ros2/rmw_fastrtps#459>) * Update Quality Declarations and READMEs (#455 <ros2/rmw_fastrtps#455>) * Add QD links for dependencies to rmw_fastrtps_shared_cpp QD. * Provide external dependencies QD links. * Update rmw_fastrtps_shared_cpp QD: Fast DDS * Update README rmw_fastrtps_shared_cpp to QL2 * Contributors: JLBuenoLopez-eProsima, Jaime Martin Losa, José Luis Bueno López, Michael Jeronimo . ros-rolling-rmw-fastrtps-shared-cpp (3.1.4-1jammy) jammy; urgency=high . * Perform fault injection in all creation/destruction APIs. (#453 <ros2/rmw_fastrtps#453>) * Ensure rmw_destroy_node() completes despite run-time errors. (#458 <ros2/rmw_fastrtps#458>) * Handle too large QoS queue depths. (#457 <ros2/rmw_fastrtps#457>) * Update rmw_fastrtps_cpp and rmw_fastrtps_shared_cpp QDs to QL2. (#456 <ros2/rmw_fastrtps#456>) * Contributors: Michel Hidalgo . ros-rolling-rmw-fastrtps-shared-cpp (3.1.3-1jammy) jammy; urgency=high . * checked client implementation and return RMW_RET_INCORRECT_RMW_IMPLEMENTATION (#451 <ros2/rmw_fastrtps#451>) * Update service/client request/response API error returns (#450 <ros2/rmw_fastrtps#450>) * Contributors: Alejandro Hernández Cordero, Jose Tomas Lorente . ros-rolling-rmw-fastrtps-shared-cpp (3.1.2-1jammy) jammy; urgency=high . * Updated publisher/subscription allocation and wait set API return codes (#443 <ros2/rmw_fastrtps#443>) * Added rmw_logging tests (#442 <ros2/rmw_fastrtps#442>) * Contributors: Alejandro Hernández Cordero . ros-rolling-rmw-fastrtps-shared-cpp (3.1.1-1jammy) jammy; urgency=high . * Add tests for RMW QoS to DDS attribute conversion. (#449 <ros2/rmw_fastrtps#449>) * Make service/client construction/destruction implementation compliant (#445 <ros2/rmw_fastrtps#445>) * Contributors: Michel Hidalgo . ros-rolling-rmw-fastrtps-shared-cpp (3.1.0-1jammy) jammy; urgency=high . * Inject faults on __rmw_publish() and run_listener_thread() call. (#441 <ros2/rmw_fastrtps#441>) * Update gid API return codes. (#440 <ros2/rmw_fastrtps#440>) * Update graph API return codes. (#436 <ros2/rmw_fastrtps#436>) * Contributors: Michel Hidalgo . ros-rolling-rmw-fastrtps-shared-cpp (3.0.0-1jammy) jammy; urgency=high . * Update rmw_take_serialized() and rmw_take_with_message_info() error returns (#435 <ros2/rmw_fastrtps#435>) * Update rmw_take() error returns (#432 <ros2/rmw_fastrtps#432>) * Update rmw_publish() error returns (#430 <ros2/rmw_fastrtps#430>) * Update rmw_publish_serialized_message() error returns (#431 <ros2/rmw_fastrtps#431>) * Contributors: Jose Tomas Lorente, Lobotuerk . ros-rolling-rmw-fastrtps-shared-cpp (2.6.0-1jammy) jammy; urgency=high . * Improve __rmw_create_wait_set() implementation. (#427 <ros2/rmw_fastrtps#427>) * Ensure compliant matched pub/sub count API. (#424 <ros2/rmw_fastrtps#424>) * Ensure compliant publisher QoS queries. (#425 <ros2/rmw_fastrtps#425>) * Fix memory leak that wait_set might be not destoryed in some case. (#423 <ros2/rmw_fastrtps#423>) * Contributors: Chen Lihui, Michel Hidalgo . ros-rolling-rmw-fastrtps-shared-cpp (2.5.0-1jammy) jammy; urgency=high . * Avoid unused identifier variable warnings. (#422 <ros2/rmw_fastrtps#422>) * Fix trying to get topic data that was already removed. (#417 <ros2/rmw_fastrtps#417>) * Contributors: Chen Lihui, Michel Hidalgo . ros-rolling-rmw-fastrtps-shared-cpp (2.4.0-1jammy) jammy; urgency=high . * Ensure compliant subscription API. (#419 <ros2/rmw_fastrtps#419>) * Use package path to TypeSupport.hpp headers in ServiceTypeSupport and MessageTypeSupport (#415 <ros2/rmw_fastrtps#415>) Use package in path to TypeSupport header for ServiceTypeSupport/MessageTypeSupport * Contributors: Jose Luis Rivero, Michel Hidalgo . ros-rolling-rmw-fastrtps-shared-cpp (2.3.0-1jammy) jammy; urgency=high . * Ensure compliant publisher API. (#414 <ros2/rmw_fastrtps#414>) * Contributors: Michel Hidalgo . ros-rolling-rmw-fastrtps-shared-cpp (2.2.0-1jammy) jammy; urgency=high . * Set context actual domain id (#410 <ros2/rmw_fastrtps#410>) * Contributors: Ivan Santiago Paunovic . ros-rolling-rmw-fastrtps-shared-cpp (2.1.0-1jammy) jammy; urgency=high . * Add missing thread-safety annotation in ServicePubListener (#409 <ros2/rmw_fastrtps#409>) * Ensure compliant node construction/destruction API. (#408 <ros2/rmw_fastrtps#408>) * Contributors: Michel Hidalgo . ros-rolling-rmw-fastrtps-shared-cpp (2.0.0-1jammy) jammy; urgency=high . * Update Quality Declarations to QL3. (#404 <ros2/rmw_fastrtps#404>) * Contributors: Michel Hidalgo . ros-rolling-rmw-fastrtps-shared-cpp (1.1.0-1jammy) jammy; urgency=high . * Do not use string literals as implementation identifiers in tests. (#402 <ros2/rmw_fastrtps#402>) * Ensure compliant init options API implementations. (#399 <ros2/rmw_fastrtps#399>) * Finalize context iff shutdown. (#396 <ros2/rmw_fastrtps#396>) * Handle RMW_DEFAULT_DOMAIN_ID. (#394 <ros2/rmw_fastrtps#394>) * Make service wait for response reader (#390 <ros2/rmw_fastrtps#390>) * Contributors: Michel Hidalgo, Miguel Company . ros-rolling-rmw-fastrtps-shared-cpp (1.0.1-1jammy) jammy; urgency=high . * Add Security Vulnerability Policy pointing to REP-2006 (#389 <ros2/rmw_fastrtps#389>) * Do not compile assert death tests in Release builds (#393 <ros2/rmw_fastrtps#393>) * Add test coverage for name mangling and namespacing-specific API (#388 <ros2/rmw_fastrtps#388>) * Add test coverage for GUID utilities (#387 <ros2/rmw_fastrtps#387>) * Drop unused TopicCache sources (#386 <ros2/rmw_fastrtps#386>) * Add test coverage for rmw_init_options API (#385 <ros2/rmw_fastrtps#385>) * Update QDs for 1.0 (#383 <ros2/rmw_fastrtps#383>) * Contributors: Chris Lalancette, Michel Hidalgo, Stephen Brawner . ros-rolling-rmw-fastrtps-shared-cpp (1.0.0-1jammy) jammy; urgency=high . * Remove API related to manual by node liveliness. (#379 <ros2/rmw_fastrtps#379>) * Update quality declarations on feature testing. (#380 <ros2/rmw_fastrtps#380>) * Contributors: Ivan Santiago Paunovic, Michel Hidalgo . ros-rolling-rmw-fastrtps-shared-cpp (0.9.1-1jammy) jammy; urgency=high . * Fill service_info timestamps from sample_info (#378 <ros2/rmw_fastrtps#378>) * Fix unused variabled warning (#377 <ros2/rmw_fastrtps#377>) * Add basic support for security logging plugin (#362 <ros2/rmw_fastrtps#362>) * Add package READMEs and QUALITY_DECLARATION files (#375 <ros2/rmw_fastrtps#375>) * Added doxyfiles (#372 <ros2/rmw_fastrtps#372>) * Contributors: Alejandro Hernández Cordero, Ingo Lütkebohle, Jacob Perron, Kyle Fazzari, brawner . ros-rolling-rmw-fastrtps-shared-cpp (0.9.0-1jammy) jammy; urgency=high . * Feature/services timestamps. (#369 <ros2/rmw_fastrtps#369>) * Add support for taking a sequence of messages. (#366 <ros2/rmw_fastrtps#366>) * Fill message_info timestamp. (#368 <ros2/rmw_fastrtps#368>) * Export targets in a addition to include directories / libraries. (#371 <ros2/rmw_fastrtps#371>) * Support for API break on Fast RTPS 2.0. (#370 <ros2/rmw_fastrtps#370>) * security-context -> enclave. (#365 <ros2/rmw_fastrtps#365>) * Switch to one Participant per Context. (#312 <ros2/rmw_fastrtps#312>) * Correct error message when event is not supported. (#358 <ros2/rmw_fastrtps#358>) * Add rmw_*_event_init() functions. (#354 <ros2/rmw_fastrtps#354>) * Fixing type support C/CPP mix on rmw_fastrtps_dynamic_cpp. (#350 <ros2/rmw_fastrtps#350>) * Fix build warning in Ubuntu Focal. (#346 <ros2/rmw_fastrtps#346>) * Change rmw_topic_endpoint_info_array.count to .size. (#348 <ros2/rmw_fastrtps#348>) * Code style only: wrap after open parenthesis if not in one line. (#347 <ros2/rmw_fastrtps#347>) * Fix unprotected use of mutex-guarded variable. (#345 <ros2/rmw_fastrtps#345>) * Passing down type support information (#342 <ros2/rmw_fastrtps#342>) * Implement functions to get publisher and subcription informations like QoS policies from topic name. (#336 <ros2/rmw_fastrtps#336>) * Contributors: Dirk Thomas, Emerson Knapp, Ingo Lütkebohle, Ivan Santiago Paunovic, Jaison Titus, Miaofei Mei, Michael Carroll, Miguel Company, Mikael Arguedas . ros-rolling-rmw-fastrtps-shared-cpp (0.8.1-1jammy) jammy; urgency=high . * Restrict traffic to localhost only if env var is provided (#331 <ros2/rmw_fastrtps#331>) * Added new functions which can be used to get rmw_qos_profile_t from WriterQos and ReaderQos (#328 <ros2/rmw_fastrtps#328>) * Renamed dds_qos_to_rmw_qos to dds_attributes_to_rmw_qos (#330 <ros2/rmw_fastrtps#330>) * Contributors: Brian Marchi, jaisontj . ros-rolling-rmw-fastrtps-shared-cpp (0.8.0-1jammy) jammy; urgency=high . * Correct error message (#320 <ros2/rmw_fastrtps#320>) * Return specific error code when node is not found (#311 <ros2/rmw_fastrtps#311>) * Correct linter failure (#318 <ros2/rmw_fastrtps#318>) * Fix bug in graph API by node (#316 <ros2/rmw_fastrtps#316>) * fix method name change from 1.8.1->1.9.0 (#302 <ros2/rmw_fastrtps#302>) * Add missing lock guards for discovered_names and discovered_namespaces (#301 <ros2/rmw_fastrtps#301>) * Add function for getting clients by node (#293 <ros2/rmw_fastrtps#293>) * Enable manual_by_node and node liveliness assertion (#298 <ros2/rmw_fastrtps#298>) * Enable assert liveliness on publisher. (#296 <ros2/rmw_fastrtps#296>) * Use rcpputils::find_and_replace instead of std::regex_replace (#291 <ros2/rmw_fastrtps#291>) * Fix a comparison with a sign mismatch (#288 <ros2/rmw_fastrtps#288>) * Implement get_actual_qos() for subscriptions (#287 <ros2/rmw_fastrtps#287>) * add missing qos setings in get_actual_qos() (#284 <ros2/rmw_fastrtps#284>) * Fix ABBA deadlock. * Contributors: Chris Lalancette, Emerson Knapp, Jacob Perron, M. M, Scott K Logan, William Woodall, ivanpauno . ros-rolling-rmw-fastrtps-shared-cpp (0.7.3-1jammy) jammy; urgency=high . * Protection of discovered_names and discovered_namespaces (#283 <ros2/rmw_fastrtps#283>) * Disable all liveliness until it is actually supported (#282 <ros2/rmw_fastrtps#282>) * Contributors: Emerson Knapp, MiguelCompany . ros-rolling-rmw-fastrtps-shared-cpp (0.7.2-1jammy) jammy; urgency=high . * fix log_debug typo in rmw_count (#279 <ros2/rmw_fastrtps#279>) * Fastrtps18 event callbacks policies (#275 <ros2/rmw_fastrtps#275>) * Centralize topic name creation logic and update to match FastRTPS 1.8 API (#272 <ros2/rmw_fastrtps#272>) * Contributors: 1r0b1n0, Emerson Knapp, Nick Burek . ros-rolling-rmw-fastrtps-shared-cpp (0.7.1-1jammy) jammy; urgency=high . * Support arbitrary message namespaces (#266 <ros2/rmw_fastrtps#266>) * Set more correct return values for unimplemented features (#276 <ros2/rmw_fastrtps#276>) * Add qos interfaces with no-op (#271 <ros2/rmw_fastrtps#271>) * Updates for preallocation API. (#274 <ros2/rmw_fastrtps#274>) * Fix logging in rmw_node_info_and_types.cpp (#273 <ros2/rmw_fastrtps#273>) * Contributors: Emerson Knapp, Jacob Perron, Michael Carroll, Ross Desmond, Thomas Moulard . ros-rolling-rmw-fastrtps-shared-cpp (0.7.0-1jammy) jammy; urgency=high . * Thread safety annotation - minimally intrusive first pass (#259 <ros2/rmw_fastrtps#259>) * Add function to get publisher actual qos settings (#267 <ros2/rmw_fastrtps#267>) * Fixed race condition between taking sample and updating counter. (#264 <ros2/rmw_fastrtps#264>) * Fix cpplint error * change count type to size_t to avoid warning (#262 <ros2/rmw_fastrtps#262>) * update listener logic for accurate counting (#262 <ros2/rmw_fastrtps#262>) * Make sure to include the C++ headers used by these headers. (#256 <ros2/rmw_fastrtps#256>) * pass context to wait set and fini context (#252 <ros2/rmw_fastrtps#252>) * Improve service_is_available logic to protect that client is waiting forever (#238 <ros2/rmw_fastrtps#238>) * Merge pull request #250 <ros2/rmw_fastrtps#250> from ros2/support_static_lib * use namespace_prefix from shared package * make namespace_prefix header public * Use empty() to check for an empty string (#247 <ros2/rmw_fastrtps#247>) * We can compare a std::string with a const char* using operator==, simplifies the code (#248 <ros2/rmw_fastrtps#248>) * Use empty() instead of size() to check if a vector/map contains elements and fixed some incorrect logging (#245 <ros2/rmw_fastrtps#245>) * Fix guard condition trigger error (#235 <ros2/rmw_fastrtps#235>) * Contributors: Chris Lalancette, Dirk Thomas, DongheeYe, Emerson Knapp, Jacob Perron, Johnny Willemsen, Ricardo González, William Woodall, ivanpauno . ros-rolling-rmw-fastrtps-shared-cpp (0.6.1-1jammy) jammy; urgency=high . * Add topic cache object for managing topic relations (#236 <ros2/rmw_fastrtps#236>) * Fix lint: remove trailing whitespace (#244 <ros2/rmw_fastrtps#244>) * Fastrtps 1.7.0 (#233 <ros2/rmw_fastrtps#233>) * RMW_FastRTPS configuration from XML only (#243 <ros2/rmw_fastrtps#243>) * Methods to retrieve matched counts on pub/sub (#234 <ros2/rmw_fastrtps#234>) * use uint8_array (#240 <ros2/rmw_fastrtps#240>) * Contributors: Jacob Perron, Juan Carlos, Karsten Knese, Michael Carroll, MiguelCompany, Ross Desmond . ros-rolling-rmw-fastrtps-shared-cpp (0.6.0-1jammy) jammy; urgency=high . * use new error handling API from rcutils (#231 <ros2/rmw_fastrtps#231>) * Add semicolons to all RCLCPP and RCUTILS macros. (#229 <ros2/rmw_fastrtps#229>) * separating identity and permission CAs (#227 <ros2/rmw_fastrtps#227>) * Include node namespaces in get_node_names (#224 <ros2/rmw_fastrtps#224>) * allow builtin reader/writer to reallocate memory if needed (#221 <ros2/rmw_fastrtps#221>) * Improve runtime performance of rmw_count_XXX functions (#216 <ros2/rmw_fastrtps#216>) (#217 <ros2/rmw_fastrtps#217>) * Merge pull request #218 <ros2/rmw_fastrtps#218> from ros2/pr203 * Refs #3061 <https://github.com/ros2/rmw_fastrtps/issues/3061>. Leaving common code only on rmw_fastrtps_shared_cpp. * Refs #3061 <https://github.com/ros2/rmw_fastrtps/issues/3061>. Package rmw_fastrtps_cpp copied to rmw_fastrtps_shared_cpp. * Contributors: Chris Lalancette, Dirk Thomas, Guillaume Autran, Michael Carroll, Miguel Company, Mikael Arguedas, William Woodall . ros-rolling-rmw-fastrtps-shared-cpp (0.5.1-1jammy) jammy; urgency=high . . . ros-rolling-rmw-fastrtps-shared-cpp (0.5.0-1jammy) jammy; urgency=high . . . ros-rolling-rmw-fastrtps-shared-cpp (0.4.0-1jammy) jammy; urgency=high
ros-rolling-rmw-fastrtps-dynamic-cpp (6.2.1-1jammy) jammy; urgency=high . * Add content filter topic feature (#513 <ros2/rmw_fastrtps#513>) * Add sequence numbers to message info structure (#587 <ros2/rmw_fastrtps#587>) * Contributors: Chen Lihui, Ivan Santiago Paunovic . ros-rolling-rmw-fastrtps-dynamic-cpp (6.2.0-1jammy) jammy; urgency=high . * Add EventsExecutor (#468 <ros2/rmw_fastrtps#468>) * Install headers to include/${PROJECT_NAME} (#578 <ros2/rmw_fastrtps#578>) * Contributors: Shane Loretz, iRobot ROS . ros-rolling-rmw-fastrtps-dynamic-cpp (6.1.2-1jammy) jammy; urgency=high . . . ros-rolling-rmw-fastrtps-dynamic-cpp (6.1.1-1jammy) jammy; urgency=high . . . ros-rolling-rmw-fastrtps-dynamic-cpp (6.1.0-1jammy) jammy; urgency=high . * Add client/service QoS getters. (#560 <ros2/rmw_fastrtps#560>) * Contributors: mauropasse . ros-rolling-rmw-fastrtps-dynamic-cpp (6.0.0-1jammy) jammy; urgency=high . . . ros-rolling-rmw-fastrtps-dynamic-cpp (5.2.2-1jammy) jammy; urgency=high . * Correctly recalculate serialized size on bounded sequences. (#540 <ros2/rmw_fastrtps#540>) * Fix type size alignment. (#550 <ros2/rmw_fastrtps#550>) * Contributors: Miguel Company . ros-rolling-rmw-fastrtps-dynamic-cpp (5.2.1-1jammy) jammy; urgency=high . . . ros-rolling-rmw-fastrtps-dynamic-cpp (5.2.0-1jammy) jammy; urgency=high . * Add rmw_publisher_wait_for_all_acked support. (#519 <ros2/rmw_fastrtps#519>) * Contributors: Barry Xu . ros-rolling-rmw-fastrtps-dynamic-cpp (5.1.0-1jammy) jammy; urgency=high . * Loan messages implementation (#523 <ros2/rmw_fastrtps#523>) * Added is_plain_ attribute to base TypeSupport. * Added new methods to base TypeSupport. * Implementation of rmw_borrow_loaned_message. * Implementation of rmw_return_loaned_message_from_publisher. * Enable loan messages on publishers of plain types. * Implementation for taking loaned messages. * Enable loan messages on subscriptions of plain types. * Contributors: Miguel Company . ros-rolling-rmw-fastrtps-dynamic-cpp (5.0.0-1jammy) jammy; urgency=high . * Refactor to use DDS standard API (#518 <ros2/rmw_fastrtps#518>) * Unique network flows (#502 <ros2/rmw_fastrtps#502>) * updating quality declaration links (re: ros2/docs.ros2.org#52 <ros2/docs.ros2.org#52>) (#520 <ros2/rmw_fastrtps#520>) * Contributors: Miguel Company, shonigmann . ros-rolling-rmw-fastrtps-dynamic-cpp (4.5.0-1jammy) jammy; urgency=high . . . ros-rolling-rmw-fastrtps-dynamic-cpp (4.4.0-1jammy) jammy; urgency=high . * Add RMW function to check QoS compatibility (#511 <ros2/rmw_fastrtps#511>) * Capture cdr exceptions (#505 <ros2/rmw_fastrtps#505>) * Load profiles based on topic names in rmw_fastrtps_dynamic_cpp (#497 <ros2/rmw_fastrtps#497>) * Contributors: Eduardo Ponz Segrelles, Jacob Perron, Miguel Company . ros-rolling-rmw-fastrtps-dynamic-cpp (4.3.0-1jammy) jammy; urgency=high . * Set rmw_dds_common::GraphCache callback after init succeeds. (#496 <ros2/rmw_fastrtps#496>) * Handle typesupport errors on fetch. (#495 <ros2/rmw_fastrtps#495>) * Contributors: Michel Hidalgo . ros-rolling-rmw-fastrtps-dynamic-cpp (4.2.0-1jammy) jammy; urgency=high . . . ros-rolling-rmw-fastrtps-dynamic-cpp (4.1.0-1jammy) jammy; urgency=high . * Check for correct context shutdown (#486 <ros2/rmw_fastrtps#486>) * New environment variable to change easily the publication mode (#470 <ros2/rmw_fastrtps#470>) * Contributors: Ignacio Montesino Valle, José Luis Bueno López . ros-rolling-rmw-fastrtps-dynamic-cpp (4.0.0-1jammy) jammy; urgency=high . * Discriminate when the Client has gone from when the Client has not completely matched (#467 <ros2/rmw_fastrtps#467>) * Workaround when the client is gone before server sends response * Change add to the map to listener callback * Update the package.xml files with the latest Open Robotics maintainers (#459 <ros2/rmw_fastrtps#459>) * Update Quality Declarations and READMEs (#455 <ros2/rmw_fastrtps#455>) * Add QL of external dependencies to rmw_fastrtps_dynamic_cpp QD * Add QD links for dependencies to rmw_fastrtps_dynamic_cpp QD * Provide external dependencies QD links * Add README to rmw_fastrtps_dynamic * Add QD for rmw_fastrtps_dynamic * Contributors: JLBuenoLopez-eProsima, Jaime Martin Losa, José Luis Bueno López, Michael Jeronimo . ros-rolling-rmw-fastrtps-dynamic-cpp (3.1.4-1jammy) jammy; urgency=high . * Ensure rmw_destroy_node() completes despite run-time errors. (#458 <ros2/rmw_fastrtps#458>) * Contributors: Michel Hidalgo . ros-rolling-rmw-fastrtps-dynamic-cpp (3.1.3-1jammy) jammy; urgency=high . * Return RMW_RET_UNSUPPORTED in rmw_get_serialized_message_size (#452 <ros2/rmw_fastrtps#452>) * Contributors: Alejandro Hernández Cordero . ros-rolling-rmw-fastrtps-dynamic-cpp (3.1.2-1jammy) jammy; urgency=high . * Updated publisher/subscription allocation and wait set API return codes (#443 <ros2/rmw_fastrtps#443>) * Added rmw_logging tests (#442 <ros2/rmw_fastrtps#442>) * Contributors: Alejandro Hernández Cordero . ros-rolling-rmw-fastrtps-dynamic-cpp (3.1.1-1jammy) jammy; urgency=high . * Fix array get_function semantics (#448 <ros2/rmw_fastrtps#448>) * Make service/client construction/destruction implementation compliant (#445 <ros2/rmw_fastrtps#445>) * Make sure type can be unregistered successfully (#437 <ros2/rmw_fastrtps#437>) * Contributors: Barry Xu, Ivan Santiago Paunovic, Michel Hidalgo . ros-rolling-rmw-fastrtps-dynamic-cpp (3.1.0-1jammy) jammy; urgency=high . * Add tests for native entity getters. (#439 <ros2/rmw_fastrtps#439>) * Avoid deadlock if graph update fails. (#438 <ros2/rmw_fastrtps#438>) * Contributors: Michel Hidalgo . ros-rolling-rmw-fastrtps-dynamic-cpp (3.0.0-1jammy) jammy; urgency=high . * Call Domain::removePublisher while failure occurs in create_publisher (#434 <ros2/rmw_fastrtps#434>) * Avoid memory leaks and undefined behavior in rmw_fastrtps_dynamic_cpp typesupport code (#429 <ros2/rmw_fastrtps#429>) * Contributors: Barry Xu, Miguel Company . ros-rolling-rmw-fastrtps-dynamic-cpp (2.6.0-1jammy) jammy; urgency=high . * Ensure compliant matched pub/sub count API. (#424 <ros2/rmw_fastrtps#424>) * Ensure compliant publisher QoS queries. (#425 <ros2/rmw_fastrtps#425>) * Contributors: Michel Hidalgo . ros-rolling-rmw-fastrtps-dynamic-cpp (2.5.0-1jammy) jammy; urgency=high . . . ros-rolling-rmw-fastrtps-dynamic-cpp (2.4.0-1jammy) jammy; urgency=high . * Ensure compliant subscription API. (#419 <ros2/rmw_fastrtps#419>) * Contributors: Michel Hidalgo . ros-rolling-rmw-fastrtps-dynamic-cpp (2.3.0-1jammy) jammy; urgency=high . * Ensure compliant publisher API. (#414 <ros2/rmw_fastrtps#414>) * Contributors: Michel Hidalgo . ros-rolling-rmw-fastrtps-dynamic-cpp (2.2.0-1jammy) jammy; urgency=high . * Set context actual domain id (#410 <ros2/rmw_fastrtps#410>) * Contributors: Ivan Santiago Paunovic . ros-rolling-rmw-fastrtps-dynamic-cpp (2.1.0-1jammy) jammy; urgency=high . * Ensure compliant node construction/destruction API. (#408 <ros2/rmw_fastrtps#408>) * Contributors: Michel Hidalgo . ros-rolling-rmw-fastrtps-dynamic-cpp (2.0.0-1jammy) jammy; urgency=high . * Remove domain_id and localhost_only from node API (#407 <ros2/rmw_fastrtps#407>) * Amend rmw_init() implementation: require enclave. (#406 <ros2/rmw_fastrtps#406>) * Contributors: Ivan Santiago Paunovic, Michel Hidalgo . ros-rolling-rmw-fastrtps-dynamic-cpp (1.1.0-1jammy) jammy; urgency=high . * Ensure compliant init/shutdown API implementation. (#401 <ros2/rmw_fastrtps#401>) * Finalize context iff shutdown. (#396 <ros2/rmw_fastrtps#396>) * Make service wait for response reader (#390 <ros2/rmw_fastrtps#390>) * Contributors: Michel Hidalgo, Miguel Company . ros-rolling-rmw-fastrtps-dynamic-cpp (1.0.1-1jammy) jammy; urgency=high . . . ros-rolling-rmw-fastrtps-dynamic-cpp (1.0.0-1jammy) jammy; urgency=high . * Fix single rmw build for rmw_fastrtps_dynamic_cpp (#381 <ros2/rmw_fastrtps#381>) * Remove API related to manual by node liveliness (#379 <ros2/rmw_fastrtps#379>) * Contributors: Ivan Santiago Paunovic . ros-rolling-rmw-fastrtps-dynamic-cpp (0.9.1-1jammy) jammy; urgency=high . * Added doxyfiles (#372 <ros2/rmw_fastrtps#372>) * Contributors: Alejandro Hernández Cordero . ros-rolling-rmw-fastrtps-dynamic-cpp (0.9.0-1jammy) jammy; urgency=high . * Fixed rmw_fastrtps_dynamic_cpp package description. (#376 <ros2/rmw_fastrtps#376>) * Rename rosidl_message_bounds_t. (#373 <ros2/rmw_fastrtps#373>) * Feature/services timestamps. (#369 <ros2/rmw_fastrtps#369>) * Add support for taking a sequence of messages. (#366 <ros2/rmw_fastrtps#366>) * security-context -> enclave. (#365 <ros2/rmw_fastrtps#365>) * Rename rosidl_generator_c namespace to rosidl_runtime_c. (#367 <ros2/rmw_fastrtps#367>) * Remove custom typesupport for rmw_dds_common interfaces. (#364 <ros2/rmw_fastrtps#364>) * Added rosidl_runtime c and cpp depencencies. (#351 <ros2/rmw_fastrtps#351>) * Switch to one Participant per Context. (#312 <ros2/rmw_fastrtps#312>) * Add rmw_*_event_init() functions. (#354 <ros2/rmw_fastrtps#354>) * Fixing type support C/CPP mix on rmw_fastrtps_dynamic_cpp. (#350 <ros2/rmw_fastrtps#350>) * Fix build warning in Ubuntu Focal. (#346 <ros2/rmw_fastrtps#346>) * Code style only: wrap after open parenthesis if not in one line. (#347 <ros2/rmw_fastrtps#347>) * Passing down type support information (#342 <ros2/rmw_fastrtps#342>) * Implement functions to get publisher and subcription informations like QoS policies from topic name. (#336 <ros2/rmw_fastrtps#336>) * Contributors: Alejandro Hernández Cordero, Dirk Thomas, Ingo Lütkebohle, Ivan Santiago Paunovic, Jaison Titus, Miaofei Mei, Michael Carroll, Miguel Company, Mikael Arguedas . ros-rolling-rmw-fastrtps-dynamic-cpp (0.8.1-1jammy) jammy; urgency=high . * use return_loaned_message_from (#334 <ros2/rmw_fastrtps#334>) * Restrict traffic to localhost only if env var is provided (#331 <ros2/rmw_fastrtps#331>) * Zero copy api (#322 <ros2/rmw_fastrtps#322>) * update signature for added pub/sub options (#329 <ros2/rmw_fastrtps#329>) * Contributors: Brian Marchi, Karsten Knese, William Woodall . ros-rolling-rmw-fastrtps-dynamic-cpp (0.8.0-1jammy) jammy; urgency=high . * Add function for getting clients by node (#293 <ros2/rmw_fastrtps#293>) * Use rcpputils::find_and_replace instead of std::regex_replace (#291 <ros2/rmw_fastrtps#291>) * Export typesupport_fastrtps package dependencies (#294 <ros2/rmw_fastrtps#294>) * Implement get_actual_qos() for subscriptions (#287 <ros2/rmw_fastrtps#287>) * Contributors: Jacob Perron, M. M, kurcha01-arm . ros-rolling-rmw-fastrtps-dynamic-cpp (0.7.3-1jammy) jammy; urgency=high . . . ros-rolling-rmw-fastrtps-dynamic-cpp (0.7.2-1jammy) jammy; urgency=high . * add support for WString in rmw_fastrtps_dynamic_cpp (#278 <ros2/rmw_fastrtps#278>) * Centralize topic name creation logic and update to match FastRTPS 1.8 API (#272 <ros2/rmw_fastrtps#272>) * Contributors: Dirk Thomas, Nick Burek . ros-rolling-rmw-fastrtps-dynamic-cpp (0.7.1-1jammy) jammy; urgency=high . * Support arbitrary message namespaces (#266 <ros2/rmw_fastrtps#266>) * Add qos interfaces with no-op (#271 <ros2/rmw_fastrtps#271>) * Updates for preallocation API. (#274 <ros2/rmw_fastrtps#274>) * Contributors: Jacob Perron, Michael Carroll, Ross Desmond . ros-rolling-rmw-fastrtps-dynamic-cpp (0.7.0-1jammy) jammy; urgency=high . * Add function to get publisher actual qos settings (#267 <ros2/rmw_fastrtps#267>) * pass context to wait set and fini context (#252 <ros2/rmw_fastrtps#252>) * Add missing logic to dynamic RMW client implementation (#254 <ros2/rmw_fastrtps#254>) * Merge pull request #250 <ros2/rmw_fastrtps#250> from ros2/support_static_lib * use namespace_prefix from shared package * Use empty() instead of size() to check if a vector/map contains elements and fixed some incorrect logging (#245 <ros2/rmw_fastrtps#245>) * Contributors: Dirk Thomas, Jacob Perron, Johnny Willemsen, William Woodall, ivanpauno . ros-rolling-rmw-fastrtps-dynamic-cpp (0.6.1-1jammy) jammy; urgency=high . * Add topic cache object for managing topic relations (#236 <ros2/rmw_fastrtps#236>) * Fastrtps 1.7.0 (#233 <ros2/rmw_fastrtps#233>) * RMW_FastRTPS configuration from XML only (#243 <ros2/rmw_fastrtps#243>) * refactor to support init options and context (#237 <ros2/rmw_fastrtps#237>) * Methods to retrieve matched counts on pub/sub (#234 <ros2/rmw_fastrtps#234>) * Fixing failing tests on rmw_fastrtps_dynamic_cpp. (#242 <ros2/rmw_fastrtps#242>) * use uint8_array (#240 <ros2/rmw_fastrtps#240>) * fix linter warnings (#241 <ros2/rmw_fastrtps#241>) * Contributors: Dirk Thomas, Juan Carlos, Karsten Knese, Michael Carroll, MiguelCompany, Ross Desmond, William Woodall . ros-rolling-rmw-fastrtps-dynamic-cpp (0.6.0-1jammy) jammy; urgency=high . * Merge pull request #232 <ros2/rmw_fastrtps#232> from ros2/array-terminology * rename files * rename dynamic array to sequence * Add semicolons to all RCLCPP and RCUTILS macros. (#229 <ros2/rmw_fastrtps#229>) * Include node namespaces in get_node_names (#224 <ros2/rmw_fastrtps#224>) * add rmw_get_serialization_format (#215 <ros2/rmw_fastrtps#215>) * Merge pull request #218 <ros2/rmw_fastrtps#218> from ros2/pr203 * Refs #3061 <https://github.com/ros2/rmw_fastrtps/issues/3061>. Adapting code on rmw_fastrtps_dynamic_cpp. * Refs #3061 <https://github.com/ros2/rmw_fastrtps/issues/3061>. Package rmw_fastrtps_cpp duplicated as rmw_fastrtps_dynamic_cpp. * Contributors: Chris Lalancette, Dirk Thomas, Karsten Knese, Michael Carroll, Miguel Company . ros-rolling-rmw-fastrtps-dynamic-cpp (0.5.1-1jammy) jammy; urgency=high . . . ros-rolling-rmw-fastrtps-dynamic-cpp (0.5.0-1jammy) jammy; urgency=high . . . ros-rolling-rmw-fastrtps-dynamic-cpp (0.4.0-1jammy) jammy; urgency=high
Several issues are related to the default publication mode set in
rmw_fastrtps
which isASYNCHRONOUS
publish mode.This configuration can be changed only if the user defines a XML file and also sets the environment variable
RMW_FASTRTPS_USE_QOS_FROM_XML
to 1. This could be cumbersome to the user and also, as the issues show, prone to errors.This pull request uses a new environment variable
RMW_FASTRTPS_PUBLICATION_MODE
so the user can change easily the publishing mode without needing to define a XML file.This new environment variable can be used also in other RMW implementations and the values that have been considered are the following (this is open to discussion and more values can be given to this new environment variable):
ASYNCHRONOUS
: asynchronous publishing mode (default option inrmw_fastrtps
).SYNCHRONOUS
: synchronous publishing mode.AUTO
: leave the rmw implementation to configure this parameter. In the case ofrmw_fastrtps
this value will take the value defined in the XML file or, failing this, the default value given in Fast DDS (SYNCHRONOUS
).