|
rmw_int2dds_cpp package from rmw_int2dds repoint2dds_ffi_vendor rmw_int2dds_cpp rmw_int2dds_validation |
ROS Distro
|
Package Summary
| Version | 0.1.5 |
| License | Apache-2.0 |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Checkout URI | https://github.com/IntellectusCorp/rmw_int2dds.git |
| VCS Type | git |
| VCS Version | humble |
| Last Updated | 2026-09-11 |
| Dev Status | DEVELOPED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Jungsup Lee
Authors
- Intellectus Corp.
Changelog for package rmw_int2dds_cpp
0.1.5 (2026-09-10)
- Build against int2DDS FFI 0.1.5, up from 0.1.4.
- No other source changes.
- Contributors: Intellectus Corp.
0.1.4 (2026-09-04)
- Build against int2DDS FFI 0.1.4, up from 0.1.3. The FFI declarations are identical, so no call site changed.
- No other source changes.
- Contributors: Intellectus Corp.
0.1.3 (2026-09-02)
- Build against int2DDS FFI 0.1.3, up from 0.1.1. Every FFI entry point this package calls kept its signature; 0.1.3 only adds new ones (filtered discovery snapshots, an endpoint discovery callback, and a writer data representation query).
- Seed a large UDP socket buffer in
rmw_initso high-rate / large-message RELIABLE traffic no longer drops fragments. - Own
EventDatain the publisher/subscription entities and free it on destroy, closing a per-event-type leak. - Keep discovery reading when a sample outgrows the buffer, so a large discovery sample no longer blocks a participant.
- Report subscription matched via a cached event.
- Drop dead
package.xmldependencies. - Correct the
ament_linttest-status count in the README. - Poll the graph snapshot instead of waiting for it.
kGraphSnapshotTimeoutdrops to 0: a read leaves the instance in place, so an endpoint that has not arrived yet is picked up on the next pass and the 50 ms wait only burned the timeout. - Honor
ignore_local_publicationsin subscription readiness. - Contributors: Intellectus Corp.
0.1.1 (2026-08-28)
- Shrink the initial subscription receive buffer to 64 KiB. It is held
per subscription and zeroed by
resize(), so 2 MiB went resident on every first take; larger payloads still work through the existing grow-on-demand path. - Defer guard condition destruction until no wait set can reach it.
- Include
<utility>forstd::movein the wait set registry. - Free the sample sequence when a take returns no data.
- Poll for NOT_ALIVE endpoints instead of waiting for them.
- Load the
ament_cmake_rosbuildtool dependency the package already declared. Declaring without loading it set neitherBUILD_SHARED_LIBSnorROS_PACKAGE_NAME. - Add
testing/check-dependency-cycle.py, which replays the build farm's release job sort over this checkout, next to the container test harness. - Run that check in CI on every push and pull request to this branch.
- Contributors: Intellectus Corp.
0.1.0 (2026-08-21)
- Fix participant/context lifecycle: delete contained entities before the participant, release the participant when the last node is destroyed, recreate context DDS resources on node creation, and release all context resources on init failure.
- Apply requested QoS in services/clients; resolve BEST_AVAILABLE and SYSTEM_DEFAULT in the service actual QoS; apply deadline/liveliness.
- Wire localhost-only discovery into SPDP.
- Reject STRICTLY_REQUIRED unique network flow endpoints; restore content-filter field codes; set error messages on unsupported API stubs; ignore only same-node local publications; randomize the GID process field.
- Batch
take_sequenceinto a single serialized take. - Move development test executables into
test/; align QUALITY_DECLARATION and README test status with the current state. - Decide
rmw_waitreadiness before attaching to the wait set, so a call that finds work already pending skips the attach/wait/detach round trip. Guard conditions join the pre-wait scan through a non-destructive peek, and a zero-timeout poll no longer attaches at all. Saturated single-subscription throughput roughly doubles. - Add
test_rmw_wait_guards, the first automated test registered with CTest: guard condition readiness, trigger consumption, timeout handling and wake-up from another thread, all without a DDS participant. - Move the
int2dds_ffi_vendorpackage into this repository. Building from source no longer needs a second clone, and the dependency is declared without a version range because the two packages are now released in lockstep; the prebuilt FFI version stays pinned in one place,INT2DDS_FFI_VERSIONinint2dds_ffi_vendor/CMakeLists.txt. - Cache wait set attachments across
rmw_waitcalls, rebuild them by delta instead of a full reset, and skip the event status mask update when it is already set. - Harden the persistent attachment cache against teardown and concurrency: detach attachments before removing the wait set from the registry, keep the registry valid during static destruction, make the registry insert exception-safe, clean caches and delete the status condition on the detached service/client destroy path, clean caches before freeing the context guard, re-flag an entity for re-attach when its reader or event status condition is momentarily null, and close the destroy-vs-cache race in the attachments.
- Serialize the concurrent service RPC paths under a multi-threaded
executor: guard the response writer in
rmw_send_responseand the request/response readers inrmw_take_request/rmw_take_response
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
Dependant Packages
| Name | Deps |
|---|---|
| rmw_int2dds_validation |
Launch files
Messages
Services
Plugins
Recent questions tagged rmw_int2dds_cpp at Robotics Stack Exchange
|
rmw_int2dds_cpp package from rmw_int2dds repoint2dds_ffi_vendor rmw_int2dds_cpp rmw_int2dds_validation |
ROS Distro
|
Package Summary
| Version | 0.1.5 |
| License | Apache-2.0 |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Checkout URI | https://github.com/IntellectusCorp/rmw_int2dds.git |
| VCS Type | git |
| VCS Version | jazzy |
| Last Updated | 2026-09-11 |
| Dev Status | DEVELOPED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Jungsup Lee
Authors
- Intellectus Corp.
Changelog for package rmw_int2dds_cpp
0.1.5 (2026-09-10)
- Build against int2DDS FFI 0.1.5, up from 0.1.4.
- No other source changes.
- Contributors: Intellectus Corp.
0.1.4 (2026-09-04)
- Build against int2DDS FFI 0.1.4, up from 0.1.3. The FFI declarations are identical, so no call site changed.
- No other source changes.
- Contributors: Intellectus Corp.
0.1.3 (2026-09-02)
- Build against int2DDS FFI 0.1.3, up from 0.1.1. Every FFI entry point this package calls kept its signature; 0.1.3 only adds new ones (filtered discovery snapshots, an endpoint discovery callback, and a writer data representation query).
- No other source changes.
- Contributors: Intellectus Corp.
0.1.1 (2026-08-28)
- Seed a large UDP socket buffer in
rmw_initso high-rate / large-message RELIABLE traffic no longer drops fragments. - Own
EventDatain the publisher/subscription entities and free it on destroy, closing a per-event-type leak. - Poll the graph snapshot instead of waiting for it, removing wasted per-query latency.
- Correct the
ament_linttest-status count in the README. - Fix participant/context lifecycle: delete contained entities before the participant, release the participant when the last node is destroyed, recreate context DDS resources on node creation, and release all context resources on init failure.
- Apply requested QoS in services/clients; resolve BEST_AVAILABLE and SYSTEM_DEFAULT in the service actual QoS; apply deadline/liveliness.
- Wire localhost-only and static-peer discovery into SPDP.
- Reject STRICTLY_REQUIRED unique network flow endpoints; restore content-filter field codes; set error messages on unsupported API stubs; ignore only same-node local publications; randomize the GID process field.
- Add dynamic message type support (rosidl dynamic typesupport): primitives, string, fixed arrays, sequences and nested structs.
- Batch
take_sequenceinto a single serialized take. - Move development test executables into
test/; align QUALITY_DECLARATION and README test status with the current state. - Decide
rmw_waitreadiness before attaching to the wait set, so a call that finds work already pending skips the attach/wait/detach round trip. Guard conditions join the pre-wait scan through a non-destructive peek, and a zero-timeout poll no longer attaches at all. Saturated single-subscription throughput roughly doubles. - Add
test_rmw_wait_guards, the first automated test registered with CTest: guard condition readiness, trigger consumption, timeout handling and wake-up from another thread, all without a DDS participant. - Cache wait set attachments across
rmw_waitcalls, rebuild them by delta instead of a full reset, and skip the event status mask update when it is already set. - Harden the persistent attachment cache against teardown and concurrency: detach attachments before removing the wait set from the registry, keep the registry valid during static destruction, make the registry insert exception-safe, clean caches and delete the status condition on the detached service/client destroy path, clean caches before freeing the context guard, re-flag an entity for re-attach when its reader or event status condition is momentarily null, and close the destroy-vs-cache race in the attachments.
- Serialize the concurrent service RPC paths under a multi-threaded
executor: guard the response writer in
rmw_send_responseand the request/response readers inrmw_take_request/rmw_take_responseper entity, fixing an intermittent service round-trip hang. - Build the graph cache from SEDP endpoint-discovery push callbacks, remove graph entities on the dispose signal instead of on absence from a snapshot, and identify the local participant by its own key.
- Default
INT2DDS_DATA_FRAG_SIZEto 1344 andINT2DDS_MAX_MESSAGE_SIZEto 13440 inrmw_init, and document the loopback discovery env vars in the usage table. - Drop key/key_len from serialized write calls and bulk-copy fixed-width primitive arrays in the CDR codec. The serialized write API lost those two arguments upstream, so this package no longer compiled without the change; the bulk copy was verified byte-identical to FastCDR for 1-, 2-, 4- and 8-byte element sequences.
- Keep the discovery listener reading when a sample outgrows its buffer. The reader is KEEP_ALL, so retrying an oversized sample at the same size spun on it forever and blocked every participant queued behind it.
- Fail cleanly instead of writing through a null element when deserializing a fixed primitive C array, matching the guard already on the serialize side.
- Move
int2dds_ffi_vendorinto this repository. The standalone repository is now a release host and carries no sources, so a clean checkout could not be built without this. - Move the rclcpp-based QoS/perf probes and the dynamic message checks
into the new
rmw_int2dds_validationpackage, and droprclcpp/rclfrom this one. Depending on them closed therclcpp -> rcl -> rmw_implementation -> rmw_int2dds_cppbuild cycle.
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
Dependant Packages
| Name | Deps |
|---|---|
| rmw_int2dds_validation |
Launch files
Messages
Services
Plugins
Recent questions tagged rmw_int2dds_cpp at Robotics Stack Exchange
|
rmw_int2dds_cpp package from rmw_int2dds repoint2dds_ffi_vendor rmw_int2dds_cpp rmw_int2dds_validation |
ROS Distro
|
Package Summary
| Version | 0.1.5 |
| License | Apache-2.0 |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Checkout URI | https://github.com/IntellectusCorp/rmw_int2dds.git |
| VCS Type | git |
| VCS Version | humble |
| Last Updated | 2026-09-11 |
| Dev Status | DEVELOPED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Jungsup Lee
Authors
- Intellectus Corp.
Changelog for package rmw_int2dds_cpp
0.1.5 (2026-09-10)
- Build against int2DDS FFI 0.1.5, up from 0.1.4.
- No other source changes.
- Contributors: Intellectus Corp.
0.1.4 (2026-09-04)
- Build against int2DDS FFI 0.1.4, up from 0.1.3. The FFI declarations are identical, so no call site changed.
- No other source changes.
- Contributors: Intellectus Corp.
0.1.3 (2026-09-02)
- Build against int2DDS FFI 0.1.3, up from 0.1.1. Every FFI entry point this package calls kept its signature; 0.1.3 only adds new ones (filtered discovery snapshots, an endpoint discovery callback, and a writer data representation query).
- Seed a large UDP socket buffer in
rmw_initso high-rate / large-message RELIABLE traffic no longer drops fragments. - Own
EventDatain the publisher/subscription entities and free it on destroy, closing a per-event-type leak. - Keep discovery reading when a sample outgrows the buffer, so a large discovery sample no longer blocks a participant.
- Report subscription matched via a cached event.
- Drop dead
package.xmldependencies. - Correct the
ament_linttest-status count in the README. - Poll the graph snapshot instead of waiting for it.
kGraphSnapshotTimeoutdrops to 0: a read leaves the instance in place, so an endpoint that has not arrived yet is picked up on the next pass and the 50 ms wait only burned the timeout. - Honor
ignore_local_publicationsin subscription readiness. - Contributors: Intellectus Corp.
0.1.1 (2026-08-28)
- Shrink the initial subscription receive buffer to 64 KiB. It is held
per subscription and zeroed by
resize(), so 2 MiB went resident on every first take; larger payloads still work through the existing grow-on-demand path. - Defer guard condition destruction until no wait set can reach it.
- Include
<utility>forstd::movein the wait set registry. - Free the sample sequence when a take returns no data.
- Poll for NOT_ALIVE endpoints instead of waiting for them.
- Load the
ament_cmake_rosbuildtool dependency the package already declared. Declaring without loading it set neitherBUILD_SHARED_LIBSnorROS_PACKAGE_NAME. - Add
testing/check-dependency-cycle.py, which replays the build farm's release job sort over this checkout, next to the container test harness. - Run that check in CI on every push and pull request to this branch.
- Contributors: Intellectus Corp.
0.1.0 (2026-08-21)
- Fix participant/context lifecycle: delete contained entities before the participant, release the participant when the last node is destroyed, recreate context DDS resources on node creation, and release all context resources on init failure.
- Apply requested QoS in services/clients; resolve BEST_AVAILABLE and SYSTEM_DEFAULT in the service actual QoS; apply deadline/liveliness.
- Wire localhost-only discovery into SPDP.
- Reject STRICTLY_REQUIRED unique network flow endpoints; restore content-filter field codes; set error messages on unsupported API stubs; ignore only same-node local publications; randomize the GID process field.
- Batch
take_sequenceinto a single serialized take. - Move development test executables into
test/; align QUALITY_DECLARATION and README test status with the current state. - Decide
rmw_waitreadiness before attaching to the wait set, so a call that finds work already pending skips the attach/wait/detach round trip. Guard conditions join the pre-wait scan through a non-destructive peek, and a zero-timeout poll no longer attaches at all. Saturated single-subscription throughput roughly doubles. - Add
test_rmw_wait_guards, the first automated test registered with CTest: guard condition readiness, trigger consumption, timeout handling and wake-up from another thread, all without a DDS participant. - Move the
int2dds_ffi_vendorpackage into this repository. Building from source no longer needs a second clone, and the dependency is declared without a version range because the two packages are now released in lockstep; the prebuilt FFI version stays pinned in one place,INT2DDS_FFI_VERSIONinint2dds_ffi_vendor/CMakeLists.txt. - Cache wait set attachments across
rmw_waitcalls, rebuild them by delta instead of a full reset, and skip the event status mask update when it is already set. - Harden the persistent attachment cache against teardown and concurrency: detach attachments before removing the wait set from the registry, keep the registry valid during static destruction, make the registry insert exception-safe, clean caches and delete the status condition on the detached service/client destroy path, clean caches before freeing the context guard, re-flag an entity for re-attach when its reader or event status condition is momentarily null, and close the destroy-vs-cache race in the attachments.
- Serialize the concurrent service RPC paths under a multi-threaded
executor: guard the response writer in
rmw_send_responseand the request/response readers inrmw_take_request/rmw_take_response
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
Dependant Packages
| Name | Deps |
|---|---|
| rmw_int2dds_validation |
Launch files
Messages
Services
Plugins
Recent questions tagged rmw_int2dds_cpp at Robotics Stack Exchange
|
rmw_int2dds_cpp package from rmw_int2dds repoint2dds_ffi_vendor rmw_int2dds_cpp rmw_int2dds_validation |
ROS Distro
|
Package Summary
| Version | 0.1.5 |
| License | Apache-2.0 |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Checkout URI | https://github.com/IntellectusCorp/rmw_int2dds.git |
| VCS Type | git |
| VCS Version | lyrical |
| Last Updated | 2026-09-11 |
| Dev Status | DEVELOPED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Jungsup Lee
Authors
- Intellectus Corp.
Changelog for package rmw_int2dds_cpp
0.1.5 (2026-09-10)
- Build against int2DDS FFI 0.1.5, up from 0.1.4.
- No other source changes.
- Contributors: Intellectus Corp.
0.1.4 (2026-09-04)
- Build against int2DDS FFI 0.1.4, up from 0.1.3. The FFI declarations are identical, so no call site changed.
- No other source changes.
- Contributors: Intellectus Corp.
0.1.3 (2026-09-02)
- Build against int2DDS FFI 0.1.3, up from 0.1.1. Every FFI entry point this package calls kept its signature; 0.1.3 only adds new ones (filtered discovery snapshots, an endpoint discovery callback, and a writer data representation query).
- No other source changes.
- Contributors: Intellectus Corp.
0.1.1 (2026-08-28)
- Fix participant/context lifecycle: delete contained entities before the participant, release the participant when the last node is destroyed, recreate context DDS resources on node creation, and release all context resources on init failure.
- Apply requested QoS in services/clients; resolve BEST_AVAILABLE and SYSTEM_DEFAULT in the service actual QoS; apply deadline/liveliness.
- Wire localhost-only and static-peer discovery into SPDP.
- Reject STRICTLY_REQUIRED unique network flow endpoints; restore content-filter field codes; set error messages on unsupported API stubs; ignore only same-node local publications; randomize the GID process field.
- Add dynamic message type support (rosidl dynamic typesupport): primitives, string, fixed arrays, sequences and nested structs.
- Batch
take_sequenceinto a single serialized take. - Move development test executables into
test/; align QUALITY_DECLARATION and README test status with the current state. - Decide
rmw_waitreadiness before attaching to the wait set, so a call that finds work already pending skips the attach/wait/detach round trip. Guard conditions join the pre-wait scan through a non-destructive peek, and a zero-timeout poll no longer attaches at all. Saturated single-subscription throughput roughly doubles. - Add
test_rmw_wait_guards, the first automated test registered with CTest: guard condition readiness, trigger consumption, timeout handling and wake-up from another thread, all without a DDS participant. - Cache wait set attachments across
rmw_waitcalls, rebuild them by delta instead of a full reset, and skip the event status mask update when it is already set. - Harden the persistent attachment cache against teardown and concurrency: detach attachments before removing the wait set from the registry, keep the registry valid during static destruction, make the registry insert exception-safe, clean caches and delete the status condition on the detached service/client destroy path, clean caches before freeing the context guard, re-flag an entity for re-attach when its reader or event status condition is momentarily null, and close the destroy-vs-cache race in the attachments.
- Serialize the concurrent service RPC paths under a multi-threaded
executor: guard the response writer in
rmw_send_responseand the request/response readers inrmw_take_request/rmw_take_responseper entity, fixing an intermittent service round-trip hang. - Build the graph cache from SEDP endpoint-discovery push callbacks, remove graph entities on the dispose signal instead of on absence from a snapshot, and identify the local participant by its own key.
- Default
INT2DDS_DATA_FRAG_SIZEto 1344 andINT2DDS_MAX_MESSAGE_SIZEto 13440 inrmw_init, and document the loopback discovery env vars in the usage table. - Drop key/key_len from serialized write calls and bulk-copy fixed-width primitive arrays in the CDR codec. The serialized write API lost those two arguments upstream, so this package no longer compiled without the change; the bulk copy was verified byte-identical to FastCDR for 1-, 2-, 4- and 8-byte element sequences.
- Keep the discovery listener reading when a sample outgrows its buffer. The reader is KEEP_ALL, so retrying an oversized sample at the same size spun on it forever and blocked every participant queued behind it.
- Fail cleanly instead of writing through a null element when deserializing a fixed primitive C array, matching the guard already on the serialize side.
- Move
int2dds_ffi_vendorinto this repository. The standalone repository is now a release host and carries no sources, so a clean checkout could not be built without this. - Move the rclcpp-based QoS/perf probes and the dynamic message checks
into the new
rmw_int2dds_validationpackage, and droprclcpp/rclfrom this one. Depending on them closed therclcpp -> rcl -> rmw_implementation -> rmw_int2dds_cppbuild cycle. - Declare every dependency
CMakeLists.txtlooks for, and requirerosidl_dynamic_typesupportrather than probing it quietly - an undeclared optional dependency is how a build-farm job drops dynamic message support and still reports success. - Decide the matched-event target from the installed rmw headers
instead of
$ENV{ROS_DISTRO}, which is only set whereros_environmentis installed.
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
Dependant Packages
| Name | Deps |
|---|---|
| rmw_int2dds_validation |
Launch files
Messages
Services
Plugins
Recent questions tagged rmw_int2dds_cpp at Robotics Stack Exchange
|
rmw_int2dds_cpp package from rmw_int2dds repoint2dds_ffi_vendor rmw_int2dds_cpp rmw_int2dds_validation |
ROS Distro
|
Package Summary
| Version | 0.1.5 |
| License | Apache-2.0 |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Checkout URI | https://github.com/IntellectusCorp/rmw_int2dds.git |
| VCS Type | git |
| VCS Version | rolling |
| Last Updated | 2026-09-11 |
| Dev Status | DEVELOPED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Jungsup Lee
Authors
- Intellectus Corp.
Changelog for package rmw_int2dds_cpp
0.1.5 (2026-09-10)
- Build against int2DDS FFI 0.1.5, up from 0.1.4.
- No other source changes.
- Contributors: Intellectus Corp.
0.1.4 (2026-09-04)
- Build against int2DDS FFI 0.1.4, up from 0.1.3. The FFI declarations are identical, so no call site changed.
- No other source changes.
- Contributors: Intellectus Corp.
0.1.3 (2026-09-02)
- Build against int2DDS FFI 0.1.3, up from 0.1.1. Every FFI entry point this package calls kept its signature; 0.1.3 only adds new ones (filtered discovery snapshots, an endpoint discovery callback, and a writer data representation query).
- No other source changes.
- Contributors: Intellectus Corp.
0.1.1 (2026-08-28)
- Fix participant/context lifecycle: delete contained entities before the participant, release the participant when the last node is destroyed, recreate context DDS resources on node creation, and release all context resources on init failure.
- Apply requested QoS in services/clients; resolve BEST_AVAILABLE and SYSTEM_DEFAULT in the service actual QoS; apply deadline/liveliness.
- Wire localhost-only and static-peer discovery into SPDP.
- Reject STRICTLY_REQUIRED unique network flow endpoints; restore content-filter field codes; set error messages on unsupported API stubs; ignore only same-node local publications; randomize the GID process field.
- Add dynamic message type support (rosidl dynamic typesupport): primitives, string, fixed arrays, sequences and nested structs.
- Batch
take_sequenceinto a single serialized take. - Move development test executables into
test/; align QUALITY_DECLARATION and README test status with the current state. - Decide
rmw_waitreadiness before attaching to the wait set, so a call that finds work already pending skips the attach/wait/detach round trip. Guard conditions join the pre-wait scan through a non-destructive peek, and a zero-timeout poll no longer attaches at all. Saturated single-subscription throughput roughly doubles. - Add
test_rmw_wait_guards, the first automated test registered with CTest: guard condition readiness, trigger consumption, timeout handling and wake-up from another thread, all without a DDS participant. - Cache wait set attachments across
rmw_waitcalls, rebuild them by delta instead of a full reset, and skip the event status mask update when it is already set. - Harden the persistent attachment cache against teardown and concurrency: detach attachments before removing the wait set from the registry, keep the registry valid during static destruction, make the registry insert exception-safe, clean caches and delete the status condition on the detached service/client destroy path, clean caches before freeing the context guard, re-flag an entity for re-attach when its reader or event status condition is momentarily null, and close the destroy-vs-cache race in the attachments.
- Serialize the concurrent service RPC paths under a multi-threaded
executor: guard the response writer in
rmw_send_responseand the request/response readers inrmw_take_request/rmw_take_responseper entity, fixing an intermittent service round-trip hang. - Build the graph cache from SEDP endpoint-discovery push callbacks, remove graph entities on the dispose signal instead of on absence from a snapshot, and identify the local participant by its own key.
- Default
INT2DDS_DATA_FRAG_SIZEto 1344 andINT2DDS_MAX_MESSAGE_SIZEto 13440 inrmw_init, and document the loopback discovery env vars in the usage table. - Drop key/key_len from serialized write calls and bulk-copy fixed-width primitive arrays in the CDR codec. The serialized write API lost those two arguments upstream, so this package no longer compiled without the change; the bulk copy was verified byte-identical to FastCDR for 1-, 2-, 4- and 8-byte element sequences.
- Keep the discovery listener reading when a sample outgrows its buffer. The reader is KEEP_ALL, so retrying an oversized sample at the same size spun on it forever and blocked every participant queued behind it.
- Fail cleanly instead of writing through a null element when deserializing a fixed primitive C array, matching the guard already on the serialize side.
- Move
int2dds_ffi_vendorinto this repository. The standalone repository is now a release host and carries no sources, so a clean checkout could not be built without this. - Move the rclcpp-based QoS/perf probes and the dynamic message checks
into the new
rmw_int2dds_validationpackage, and droprclcpp/rclfrom this one. Depending on them closed therclcpp -> rcl -> rmw_implementation -> rmw_int2dds_cppbuild cycle. - Declare every dependency
CMakeLists.txtlooks for, and requirerosidl_dynamic_typesupportrather than probing it quietly - an undeclared optional dependency is how a build-farm job drops dynamic message support and still reports success. - Decide the matched-event target from the installed rmw headers
instead of
$ENV{ROS_DISTRO}, which is only set whereros_environmentis installed.
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
Dependant Packages
| Name | Deps |
|---|---|
| rmw_int2dds_validation |
Launch files
Messages
Services
Plugins
Recent questions tagged rmw_int2dds_cpp at Robotics Stack Exchange
|
rmw_int2dds_cpp package from rmw_int2dds repoint2dds_ffi_vendor rmw_int2dds_cpp rmw_int2dds_validation |
ROS Distro
|
Package Summary
| Version | 0.1.5 |
| License | Apache-2.0 |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Checkout URI | https://github.com/IntellectusCorp/rmw_int2dds.git |
| VCS Type | git |
| VCS Version | humble |
| Last Updated | 2026-09-11 |
| Dev Status | DEVELOPED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Jungsup Lee
Authors
- Intellectus Corp.
Changelog for package rmw_int2dds_cpp
0.1.5 (2026-09-10)
- Build against int2DDS FFI 0.1.5, up from 0.1.4.
- No other source changes.
- Contributors: Intellectus Corp.
0.1.4 (2026-09-04)
- Build against int2DDS FFI 0.1.4, up from 0.1.3. The FFI declarations are identical, so no call site changed.
- No other source changes.
- Contributors: Intellectus Corp.
0.1.3 (2026-09-02)
- Build against int2DDS FFI 0.1.3, up from 0.1.1. Every FFI entry point this package calls kept its signature; 0.1.3 only adds new ones (filtered discovery snapshots, an endpoint discovery callback, and a writer data representation query).
- Seed a large UDP socket buffer in
rmw_initso high-rate / large-message RELIABLE traffic no longer drops fragments. - Own
EventDatain the publisher/subscription entities and free it on destroy, closing a per-event-type leak. - Keep discovery reading when a sample outgrows the buffer, so a large discovery sample no longer blocks a participant.
- Report subscription matched via a cached event.
- Drop dead
package.xmldependencies. - Correct the
ament_linttest-status count in the README. - Poll the graph snapshot instead of waiting for it.
kGraphSnapshotTimeoutdrops to 0: a read leaves the instance in place, so an endpoint that has not arrived yet is picked up on the next pass and the 50 ms wait only burned the timeout. - Honor
ignore_local_publicationsin subscription readiness. - Contributors: Intellectus Corp.
0.1.1 (2026-08-28)
- Shrink the initial subscription receive buffer to 64 KiB. It is held
per subscription and zeroed by
resize(), so 2 MiB went resident on every first take; larger payloads still work through the existing grow-on-demand path. - Defer guard condition destruction until no wait set can reach it.
- Include
<utility>forstd::movein the wait set registry. - Free the sample sequence when a take returns no data.
- Poll for NOT_ALIVE endpoints instead of waiting for them.
- Load the
ament_cmake_rosbuildtool dependency the package already declared. Declaring without loading it set neitherBUILD_SHARED_LIBSnorROS_PACKAGE_NAME. - Add
testing/check-dependency-cycle.py, which replays the build farm's release job sort over this checkout, next to the container test harness. - Run that check in CI on every push and pull request to this branch.
- Contributors: Intellectus Corp.
0.1.0 (2026-08-21)
- Fix participant/context lifecycle: delete contained entities before the participant, release the participant when the last node is destroyed, recreate context DDS resources on node creation, and release all context resources on init failure.
- Apply requested QoS in services/clients; resolve BEST_AVAILABLE and SYSTEM_DEFAULT in the service actual QoS; apply deadline/liveliness.
- Wire localhost-only discovery into SPDP.
- Reject STRICTLY_REQUIRED unique network flow endpoints; restore content-filter field codes; set error messages on unsupported API stubs; ignore only same-node local publications; randomize the GID process field.
- Batch
take_sequenceinto a single serialized take. - Move development test executables into
test/; align QUALITY_DECLARATION and README test status with the current state. - Decide
rmw_waitreadiness before attaching to the wait set, so a call that finds work already pending skips the attach/wait/detach round trip. Guard conditions join the pre-wait scan through a non-destructive peek, and a zero-timeout poll no longer attaches at all. Saturated single-subscription throughput roughly doubles. - Add
test_rmw_wait_guards, the first automated test registered with CTest: guard condition readiness, trigger consumption, timeout handling and wake-up from another thread, all without a DDS participant. - Move the
int2dds_ffi_vendorpackage into this repository. Building from source no longer needs a second clone, and the dependency is declared without a version range because the two packages are now released in lockstep; the prebuilt FFI version stays pinned in one place,INT2DDS_FFI_VERSIONinint2dds_ffi_vendor/CMakeLists.txt. - Cache wait set attachments across
rmw_waitcalls, rebuild them by delta instead of a full reset, and skip the event status mask update when it is already set. - Harden the persistent attachment cache against teardown and concurrency: detach attachments before removing the wait set from the registry, keep the registry valid during static destruction, make the registry insert exception-safe, clean caches and delete the status condition on the detached service/client destroy path, clean caches before freeing the context guard, re-flag an entity for re-attach when its reader or event status condition is momentarily null, and close the destroy-vs-cache race in the attachments.
- Serialize the concurrent service RPC paths under a multi-threaded
executor: guard the response writer in
rmw_send_responseand the request/response readers inrmw_take_request/rmw_take_response
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
Dependant Packages
| Name | Deps |
|---|---|
| rmw_int2dds_validation |
Launch files
Messages
Services
Plugins
Recent questions tagged rmw_int2dds_cpp at Robotics Stack Exchange
|
rmw_int2dds_cpp package from rmw_int2dds repoint2dds_ffi_vendor rmw_int2dds_cpp rmw_int2dds_validation |
ROS Distro
|
Package Summary
| Version | 0.1.5 |
| License | Apache-2.0 |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Checkout URI | https://github.com/IntellectusCorp/rmw_int2dds.git |
| VCS Type | git |
| VCS Version | humble |
| Last Updated | 2026-09-11 |
| Dev Status | DEVELOPED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Jungsup Lee
Authors
- Intellectus Corp.
Changelog for package rmw_int2dds_cpp
0.1.5 (2026-09-10)
- Build against int2DDS FFI 0.1.5, up from 0.1.4.
- No other source changes.
- Contributors: Intellectus Corp.
0.1.4 (2026-09-04)
- Build against int2DDS FFI 0.1.4, up from 0.1.3. The FFI declarations are identical, so no call site changed.
- No other source changes.
- Contributors: Intellectus Corp.
0.1.3 (2026-09-02)
- Build against int2DDS FFI 0.1.3, up from 0.1.1. Every FFI entry point this package calls kept its signature; 0.1.3 only adds new ones (filtered discovery snapshots, an endpoint discovery callback, and a writer data representation query).
- Seed a large UDP socket buffer in
rmw_initso high-rate / large-message RELIABLE traffic no longer drops fragments. - Own
EventDatain the publisher/subscription entities and free it on destroy, closing a per-event-type leak. - Keep discovery reading when a sample outgrows the buffer, so a large discovery sample no longer blocks a participant.
- Report subscription matched via a cached event.
- Drop dead
package.xmldependencies. - Correct the
ament_linttest-status count in the README. - Poll the graph snapshot instead of waiting for it.
kGraphSnapshotTimeoutdrops to 0: a read leaves the instance in place, so an endpoint that has not arrived yet is picked up on the next pass and the 50 ms wait only burned the timeout. - Honor
ignore_local_publicationsin subscription readiness. - Contributors: Intellectus Corp.
0.1.1 (2026-08-28)
- Shrink the initial subscription receive buffer to 64 KiB. It is held
per subscription and zeroed by
resize(), so 2 MiB went resident on every first take; larger payloads still work through the existing grow-on-demand path. - Defer guard condition destruction until no wait set can reach it.
- Include
<utility>forstd::movein the wait set registry. - Free the sample sequence when a take returns no data.
- Poll for NOT_ALIVE endpoints instead of waiting for them.
- Load the
ament_cmake_rosbuildtool dependency the package already declared. Declaring without loading it set neitherBUILD_SHARED_LIBSnorROS_PACKAGE_NAME. - Add
testing/check-dependency-cycle.py, which replays the build farm's release job sort over this checkout, next to the container test harness. - Run that check in CI on every push and pull request to this branch.
- Contributors: Intellectus Corp.
0.1.0 (2026-08-21)
- Fix participant/context lifecycle: delete contained entities before the participant, release the participant when the last node is destroyed, recreate context DDS resources on node creation, and release all context resources on init failure.
- Apply requested QoS in services/clients; resolve BEST_AVAILABLE and SYSTEM_DEFAULT in the service actual QoS; apply deadline/liveliness.
- Wire localhost-only discovery into SPDP.
- Reject STRICTLY_REQUIRED unique network flow endpoints; restore content-filter field codes; set error messages on unsupported API stubs; ignore only same-node local publications; randomize the GID process field.
- Batch
take_sequenceinto a single serialized take. - Move development test executables into
test/; align QUALITY_DECLARATION and README test status with the current state. - Decide
rmw_waitreadiness before attaching to the wait set, so a call that finds work already pending skips the attach/wait/detach round trip. Guard conditions join the pre-wait scan through a non-destructive peek, and a zero-timeout poll no longer attaches at all. Saturated single-subscription throughput roughly doubles. - Add
test_rmw_wait_guards, the first automated test registered with CTest: guard condition readiness, trigger consumption, timeout handling and wake-up from another thread, all without a DDS participant. - Move the
int2dds_ffi_vendorpackage into this repository. Building from source no longer needs a second clone, and the dependency is declared without a version range because the two packages are now released in lockstep; the prebuilt FFI version stays pinned in one place,INT2DDS_FFI_VERSIONinint2dds_ffi_vendor/CMakeLists.txt. - Cache wait set attachments across
rmw_waitcalls, rebuild them by delta instead of a full reset, and skip the event status mask update when it is already set. - Harden the persistent attachment cache against teardown and concurrency: detach attachments before removing the wait set from the registry, keep the registry valid during static destruction, make the registry insert exception-safe, clean caches and delete the status condition on the detached service/client destroy path, clean caches before freeing the context guard, re-flag an entity for re-attach when its reader or event status condition is momentarily null, and close the destroy-vs-cache race in the attachments.
- Serialize the concurrent service RPC paths under a multi-threaded
executor: guard the response writer in
rmw_send_responseand the request/response readers inrmw_take_request/rmw_take_response
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
Dependant Packages
| Name | Deps |
|---|---|
| rmw_int2dds_validation |
Launch files
Messages
Services
Plugins
Recent questions tagged rmw_int2dds_cpp at Robotics Stack Exchange
|
rmw_int2dds_cpp package from rmw_int2dds repoint2dds_ffi_vendor rmw_int2dds_cpp rmw_int2dds_validation |
ROS Distro
|
Package Summary
| Version | 0.1.5 |
| License | Apache-2.0 |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Checkout URI | https://github.com/IntellectusCorp/rmw_int2dds.git |
| VCS Type | git |
| VCS Version | humble |
| Last Updated | 2026-09-11 |
| Dev Status | DEVELOPED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Jungsup Lee
Authors
- Intellectus Corp.
Changelog for package rmw_int2dds_cpp
0.1.5 (2026-09-10)
- Build against int2DDS FFI 0.1.5, up from 0.1.4.
- No other source changes.
- Contributors: Intellectus Corp.
0.1.4 (2026-09-04)
- Build against int2DDS FFI 0.1.4, up from 0.1.3. The FFI declarations are identical, so no call site changed.
- No other source changes.
- Contributors: Intellectus Corp.
0.1.3 (2026-09-02)
- Build against int2DDS FFI 0.1.3, up from 0.1.1. Every FFI entry point this package calls kept its signature; 0.1.3 only adds new ones (filtered discovery snapshots, an endpoint discovery callback, and a writer data representation query).
- Seed a large UDP socket buffer in
rmw_initso high-rate / large-message RELIABLE traffic no longer drops fragments. - Own
EventDatain the publisher/subscription entities and free it on destroy, closing a per-event-type leak. - Keep discovery reading when a sample outgrows the buffer, so a large discovery sample no longer blocks a participant.
- Report subscription matched via a cached event.
- Drop dead
package.xmldependencies. - Correct the
ament_linttest-status count in the README. - Poll the graph snapshot instead of waiting for it.
kGraphSnapshotTimeoutdrops to 0: a read leaves the instance in place, so an endpoint that has not arrived yet is picked up on the next pass and the 50 ms wait only burned the timeout. - Honor
ignore_local_publicationsin subscription readiness. - Contributors: Intellectus Corp.
0.1.1 (2026-08-28)
- Shrink the initial subscription receive buffer to 64 KiB. It is held
per subscription and zeroed by
resize(), so 2 MiB went resident on every first take; larger payloads still work through the existing grow-on-demand path. - Defer guard condition destruction until no wait set can reach it.
- Include
<utility>forstd::movein the wait set registry. - Free the sample sequence when a take returns no data.
- Poll for NOT_ALIVE endpoints instead of waiting for them.
- Load the
ament_cmake_rosbuildtool dependency the package already declared. Declaring without loading it set neitherBUILD_SHARED_LIBSnorROS_PACKAGE_NAME. - Add
testing/check-dependency-cycle.py, which replays the build farm's release job sort over this checkout, next to the container test harness. - Run that check in CI on every push and pull request to this branch.
- Contributors: Intellectus Corp.
0.1.0 (2026-08-21)
- Fix participant/context lifecycle: delete contained entities before the participant, release the participant when the last node is destroyed, recreate context DDS resources on node creation, and release all context resources on init failure.
- Apply requested QoS in services/clients; resolve BEST_AVAILABLE and SYSTEM_DEFAULT in the service actual QoS; apply deadline/liveliness.
- Wire localhost-only discovery into SPDP.
- Reject STRICTLY_REQUIRED unique network flow endpoints; restore content-filter field codes; set error messages on unsupported API stubs; ignore only same-node local publications; randomize the GID process field.
- Batch
take_sequenceinto a single serialized take. - Move development test executables into
test/; align QUALITY_DECLARATION and README test status with the current state. - Decide
rmw_waitreadiness before attaching to the wait set, so a call that finds work already pending skips the attach/wait/detach round trip. Guard conditions join the pre-wait scan through a non-destructive peek, and a zero-timeout poll no longer attaches at all. Saturated single-subscription throughput roughly doubles. - Add
test_rmw_wait_guards, the first automated test registered with CTest: guard condition readiness, trigger consumption, timeout handling and wake-up from another thread, all without a DDS participant. - Move the
int2dds_ffi_vendorpackage into this repository. Building from source no longer needs a second clone, and the dependency is declared without a version range because the two packages are now released in lockstep; the prebuilt FFI version stays pinned in one place,INT2DDS_FFI_VERSIONinint2dds_ffi_vendor/CMakeLists.txt. - Cache wait set attachments across
rmw_waitcalls, rebuild them by delta instead of a full reset, and skip the event status mask update when it is already set. - Harden the persistent attachment cache against teardown and concurrency: detach attachments before removing the wait set from the registry, keep the registry valid during static destruction, make the registry insert exception-safe, clean caches and delete the status condition on the detached service/client destroy path, clean caches before freeing the context guard, re-flag an entity for re-attach when its reader or event status condition is momentarily null, and close the destroy-vs-cache race in the attachments.
- Serialize the concurrent service RPC paths under a multi-threaded
executor: guard the response writer in
rmw_send_responseand the request/response readers inrmw_take_request/rmw_take_response
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
Dependant Packages
| Name | Deps |
|---|---|
| rmw_int2dds_validation |
Launch files
Messages
Services
Plugins
Recent questions tagged rmw_int2dds_cpp at Robotics Stack Exchange
|
rmw_int2dds_cpp package from rmw_int2dds repoint2dds_ffi_vendor rmw_int2dds_cpp rmw_int2dds_validation |
ROS Distro
|
Package Summary
| Version | 0.1.5 |
| License | Apache-2.0 |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Checkout URI | https://github.com/IntellectusCorp/rmw_int2dds.git |
| VCS Type | git |
| VCS Version | humble |
| Last Updated | 2026-09-11 |
| Dev Status | DEVELOPED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Jungsup Lee
Authors
- Intellectus Corp.
Changelog for package rmw_int2dds_cpp
0.1.5 (2026-09-10)
- Build against int2DDS FFI 0.1.5, up from 0.1.4.
- No other source changes.
- Contributors: Intellectus Corp.
0.1.4 (2026-09-04)
- Build against int2DDS FFI 0.1.4, up from 0.1.3. The FFI declarations are identical, so no call site changed.
- No other source changes.
- Contributors: Intellectus Corp.
0.1.3 (2026-09-02)
- Build against int2DDS FFI 0.1.3, up from 0.1.1. Every FFI entry point this package calls kept its signature; 0.1.3 only adds new ones (filtered discovery snapshots, an endpoint discovery callback, and a writer data representation query).
- Seed a large UDP socket buffer in
rmw_initso high-rate / large-message RELIABLE traffic no longer drops fragments. - Own
EventDatain the publisher/subscription entities and free it on destroy, closing a per-event-type leak. - Keep discovery reading when a sample outgrows the buffer, so a large discovery sample no longer blocks a participant.
- Report subscription matched via a cached event.
- Drop dead
package.xmldependencies. - Correct the
ament_linttest-status count in the README. - Poll the graph snapshot instead of waiting for it.
kGraphSnapshotTimeoutdrops to 0: a read leaves the instance in place, so an endpoint that has not arrived yet is picked up on the next pass and the 50 ms wait only burned the timeout. - Honor
ignore_local_publicationsin subscription readiness. - Contributors: Intellectus Corp.
0.1.1 (2026-08-28)
- Shrink the initial subscription receive buffer to 64 KiB. It is held
per subscription and zeroed by
resize(), so 2 MiB went resident on every first take; larger payloads still work through the existing grow-on-demand path. - Defer guard condition destruction until no wait set can reach it.
- Include
<utility>forstd::movein the wait set registry. - Free the sample sequence when a take returns no data.
- Poll for NOT_ALIVE endpoints instead of waiting for them.
- Load the
ament_cmake_rosbuildtool dependency the package already declared. Declaring without loading it set neitherBUILD_SHARED_LIBSnorROS_PACKAGE_NAME. - Add
testing/check-dependency-cycle.py, which replays the build farm's release job sort over this checkout, next to the container test harness. - Run that check in CI on every push and pull request to this branch.
- Contributors: Intellectus Corp.
0.1.0 (2026-08-21)
- Fix participant/context lifecycle: delete contained entities before the participant, release the participant when the last node is destroyed, recreate context DDS resources on node creation, and release all context resources on init failure.
- Apply requested QoS in services/clients; resolve BEST_AVAILABLE and SYSTEM_DEFAULT in the service actual QoS; apply deadline/liveliness.
- Wire localhost-only discovery into SPDP.
- Reject STRICTLY_REQUIRED unique network flow endpoints; restore content-filter field codes; set error messages on unsupported API stubs; ignore only same-node local publications; randomize the GID process field.
- Batch
take_sequenceinto a single serialized take. - Move development test executables into
test/; align QUALITY_DECLARATION and README test status with the current state. - Decide
rmw_waitreadiness before attaching to the wait set, so a call that finds work already pending skips the attach/wait/detach round trip. Guard conditions join the pre-wait scan through a non-destructive peek, and a zero-timeout poll no longer attaches at all. Saturated single-subscription throughput roughly doubles. - Add
test_rmw_wait_guards, the first automated test registered with CTest: guard condition readiness, trigger consumption, timeout handling and wake-up from another thread, all without a DDS participant. - Move the
int2dds_ffi_vendorpackage into this repository. Building from source no longer needs a second clone, and the dependency is declared without a version range because the two packages are now released in lockstep; the prebuilt FFI version stays pinned in one place,INT2DDS_FFI_VERSIONinint2dds_ffi_vendor/CMakeLists.txt. - Cache wait set attachments across
rmw_waitcalls, rebuild them by delta instead of a full reset, and skip the event status mask update when it is already set. - Harden the persistent attachment cache against teardown and concurrency: detach attachments before removing the wait set from the registry, keep the registry valid during static destruction, make the registry insert exception-safe, clean caches and delete the status condition on the detached service/client destroy path, clean caches before freeing the context guard, re-flag an entity for re-attach when its reader or event status condition is momentarily null, and close the destroy-vs-cache race in the attachments.
- Serialize the concurrent service RPC paths under a multi-threaded
executor: guard the response writer in
rmw_send_responseand the request/response readers inrmw_take_request/rmw_take_response
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
Dependant Packages
| Name | Deps |
|---|---|
| rmw_int2dds_validation |
Launch files
Messages
Services
Plugins
Recent questions tagged rmw_int2dds_cpp at Robotics Stack Exchange
|
rmw_int2dds_cpp package from rmw_int2dds repoint2dds_ffi_vendor rmw_int2dds_cpp rmw_int2dds_validation |
ROS Distro
|
Package Summary
| Version | 0.1.5 |
| License | Apache-2.0 |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Checkout URI | https://github.com/IntellectusCorp/rmw_int2dds.git |
| VCS Type | git |
| VCS Version | humble |
| Last Updated | 2026-09-11 |
| Dev Status | DEVELOPED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Jungsup Lee
Authors
- Intellectus Corp.
Changelog for package rmw_int2dds_cpp
0.1.5 (2026-09-10)
- Build against int2DDS FFI 0.1.5, up from 0.1.4.
- No other source changes.
- Contributors: Intellectus Corp.
0.1.4 (2026-09-04)
- Build against int2DDS FFI 0.1.4, up from 0.1.3. The FFI declarations are identical, so no call site changed.
- No other source changes.
- Contributors: Intellectus Corp.
0.1.3 (2026-09-02)
- Build against int2DDS FFI 0.1.3, up from 0.1.1. Every FFI entry point this package calls kept its signature; 0.1.3 only adds new ones (filtered discovery snapshots, an endpoint discovery callback, and a writer data representation query).
- Seed a large UDP socket buffer in
rmw_initso high-rate / large-message RELIABLE traffic no longer drops fragments. - Own
EventDatain the publisher/subscription entities and free it on destroy, closing a per-event-type leak. - Keep discovery reading when a sample outgrows the buffer, so a large discovery sample no longer blocks a participant.
- Report subscription matched via a cached event.
- Drop dead
package.xmldependencies. - Correct the
ament_linttest-status count in the README. - Poll the graph snapshot instead of waiting for it.
kGraphSnapshotTimeoutdrops to 0: a read leaves the instance in place, so an endpoint that has not arrived yet is picked up on the next pass and the 50 ms wait only burned the timeout. - Honor
ignore_local_publicationsin subscription readiness. - Contributors: Intellectus Corp.
0.1.1 (2026-08-28)
- Shrink the initial subscription receive buffer to 64 KiB. It is held
per subscription and zeroed by
resize(), so 2 MiB went resident on every first take; larger payloads still work through the existing grow-on-demand path. - Defer guard condition destruction until no wait set can reach it.
- Include
<utility>forstd::movein the wait set registry. - Free the sample sequence when a take returns no data.
- Poll for NOT_ALIVE endpoints instead of waiting for them.
- Load the
ament_cmake_rosbuildtool dependency the package already declared. Declaring without loading it set neitherBUILD_SHARED_LIBSnorROS_PACKAGE_NAME. - Add
testing/check-dependency-cycle.py, which replays the build farm's release job sort over this checkout, next to the container test harness. - Run that check in CI on every push and pull request to this branch.
- Contributors: Intellectus Corp.
0.1.0 (2026-08-21)
- Fix participant/context lifecycle: delete contained entities before the participant, release the participant when the last node is destroyed, recreate context DDS resources on node creation, and release all context resources on init failure.
- Apply requested QoS in services/clients; resolve BEST_AVAILABLE and SYSTEM_DEFAULT in the service actual QoS; apply deadline/liveliness.
- Wire localhost-only discovery into SPDP.
- Reject STRICTLY_REQUIRED unique network flow endpoints; restore content-filter field codes; set error messages on unsupported API stubs; ignore only same-node local publications; randomize the GID process field.
- Batch
take_sequenceinto a single serialized take. - Move development test executables into
test/; align QUALITY_DECLARATION and README test status with the current state. - Decide
rmw_waitreadiness before attaching to the wait set, so a call that finds work already pending skips the attach/wait/detach round trip. Guard conditions join the pre-wait scan through a non-destructive peek, and a zero-timeout poll no longer attaches at all. Saturated single-subscription throughput roughly doubles. - Add
test_rmw_wait_guards, the first automated test registered with CTest: guard condition readiness, trigger consumption, timeout handling and wake-up from another thread, all without a DDS participant. - Move the
int2dds_ffi_vendorpackage into this repository. Building from source no longer needs a second clone, and the dependency is declared without a version range because the two packages are now released in lockstep; the prebuilt FFI version stays pinned in one place,INT2DDS_FFI_VERSIONinint2dds_ffi_vendor/CMakeLists.txt. - Cache wait set attachments across
rmw_waitcalls, rebuild them by delta instead of a full reset, and skip the event status mask update when it is already set. - Harden the persistent attachment cache against teardown and concurrency: detach attachments before removing the wait set from the registry, keep the registry valid during static destruction, make the registry insert exception-safe, clean caches and delete the status condition on the detached service/client destroy path, clean caches before freeing the context guard, re-flag an entity for re-attach when its reader or event status condition is momentarily null, and close the destroy-vs-cache race in the attachments.
- Serialize the concurrent service RPC paths under a multi-threaded
executor: guard the response writer in
rmw_send_responseand the request/response readers inrmw_take_request/rmw_take_response
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
Dependant Packages
| Name | Deps |
|---|---|
| rmw_int2dds_validation |
Launch files
Messages
Services
Plugins
Recent questions tagged rmw_int2dds_cpp at Robotics Stack Exchange
|
rmw_int2dds_cpp package from rmw_int2dds repoint2dds_ffi_vendor rmw_int2dds_cpp rmw_int2dds_validation |
ROS Distro
|
Package Summary
| Version | 0.1.5 |
| License | Apache-2.0 |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Checkout URI | https://github.com/IntellectusCorp/rmw_int2dds.git |
| VCS Type | git |
| VCS Version | humble |
| Last Updated | 2026-09-11 |
| Dev Status | DEVELOPED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Jungsup Lee
Authors
- Intellectus Corp.
Changelog for package rmw_int2dds_cpp
0.1.5 (2026-09-10)
- Build against int2DDS FFI 0.1.5, up from 0.1.4.
- No other source changes.
- Contributors: Intellectus Corp.
0.1.4 (2026-09-04)
- Build against int2DDS FFI 0.1.4, up from 0.1.3. The FFI declarations are identical, so no call site changed.
- No other source changes.
- Contributors: Intellectus Corp.
0.1.3 (2026-09-02)
- Build against int2DDS FFI 0.1.3, up from 0.1.1. Every FFI entry point this package calls kept its signature; 0.1.3 only adds new ones (filtered discovery snapshots, an endpoint discovery callback, and a writer data representation query).
- Seed a large UDP socket buffer in
rmw_initso high-rate / large-message RELIABLE traffic no longer drops fragments. - Own
EventDatain the publisher/subscription entities and free it on destroy, closing a per-event-type leak. - Keep discovery reading when a sample outgrows the buffer, so a large discovery sample no longer blocks a participant.
- Report subscription matched via a cached event.
- Drop dead
package.xmldependencies. - Correct the
ament_linttest-status count in the README. - Poll the graph snapshot instead of waiting for it.
kGraphSnapshotTimeoutdrops to 0: a read leaves the instance in place, so an endpoint that has not arrived yet is picked up on the next pass and the 50 ms wait only burned the timeout. - Honor
ignore_local_publicationsin subscription readiness. - Contributors: Intellectus Corp.
0.1.1 (2026-08-28)
- Shrink the initial subscription receive buffer to 64 KiB. It is held
per subscription and zeroed by
resize(), so 2 MiB went resident on every first take; larger payloads still work through the existing grow-on-demand path. - Defer guard condition destruction until no wait set can reach it.
- Include
<utility>forstd::movein the wait set registry. - Free the sample sequence when a take returns no data.
- Poll for NOT_ALIVE endpoints instead of waiting for them.
- Load the
ament_cmake_rosbuildtool dependency the package already declared. Declaring without loading it set neitherBUILD_SHARED_LIBSnorROS_PACKAGE_NAME. - Add
testing/check-dependency-cycle.py, which replays the build farm's release job sort over this checkout, next to the container test harness. - Run that check in CI on every push and pull request to this branch.
- Contributors: Intellectus Corp.
0.1.0 (2026-08-21)
- Fix participant/context lifecycle: delete contained entities before the participant, release the participant when the last node is destroyed, recreate context DDS resources on node creation, and release all context resources on init failure.
- Apply requested QoS in services/clients; resolve BEST_AVAILABLE and SYSTEM_DEFAULT in the service actual QoS; apply deadline/liveliness.
- Wire localhost-only discovery into SPDP.
- Reject STRICTLY_REQUIRED unique network flow endpoints; restore content-filter field codes; set error messages on unsupported API stubs; ignore only same-node local publications; randomize the GID process field.
- Batch
take_sequenceinto a single serialized take. - Move development test executables into
test/; align QUALITY_DECLARATION and README test status with the current state. - Decide
rmw_waitreadiness before attaching to the wait set, so a call that finds work already pending skips the attach/wait/detach round trip. Guard conditions join the pre-wait scan through a non-destructive peek, and a zero-timeout poll no longer attaches at all. Saturated single-subscription throughput roughly doubles. - Add
test_rmw_wait_guards, the first automated test registered with CTest: guard condition readiness, trigger consumption, timeout handling and wake-up from another thread, all without a DDS participant. - Move the
int2dds_ffi_vendorpackage into this repository. Building from source no longer needs a second clone, and the dependency is declared without a version range because the two packages are now released in lockstep; the prebuilt FFI version stays pinned in one place,INT2DDS_FFI_VERSIONinint2dds_ffi_vendor/CMakeLists.txt. - Cache wait set attachments across
rmw_waitcalls, rebuild them by delta instead of a full reset, and skip the event status mask update when it is already set. - Harden the persistent attachment cache against teardown and concurrency: detach attachments before removing the wait set from the registry, keep the registry valid during static destruction, make the registry insert exception-safe, clean caches and delete the status condition on the detached service/client destroy path, clean caches before freeing the context guard, re-flag an entity for re-attach when its reader or event status condition is momentarily null, and close the destroy-vs-cache race in the attachments.
- Serialize the concurrent service RPC paths under a multi-threaded
executor: guard the response writer in
rmw_send_responseand the request/response readers inrmw_take_request/rmw_take_response
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
Dependant Packages
| Name | Deps |
|---|---|
| rmw_int2dds_validation |
Launch files
Messages
Services
Plugins
Recent questions tagged rmw_int2dds_cpp at Robotics Stack Exchange
|
rmw_int2dds_cpp package from rmw_int2dds repoint2dds_ffi_vendor rmw_int2dds_cpp rmw_int2dds_validation |
ROS Distro
|
Package Summary
| Version | 0.1.5 |
| License | Apache-2.0 |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Checkout URI | https://github.com/IntellectusCorp/rmw_int2dds.git |
| VCS Type | git |
| VCS Version | humble |
| Last Updated | 2026-09-11 |
| Dev Status | DEVELOPED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Jungsup Lee
Authors
- Intellectus Corp.
Changelog for package rmw_int2dds_cpp
0.1.5 (2026-09-10)
- Build against int2DDS FFI 0.1.5, up from 0.1.4.
- No other source changes.
- Contributors: Intellectus Corp.
0.1.4 (2026-09-04)
- Build against int2DDS FFI 0.1.4, up from 0.1.3. The FFI declarations are identical, so no call site changed.
- No other source changes.
- Contributors: Intellectus Corp.
0.1.3 (2026-09-02)
- Build against int2DDS FFI 0.1.3, up from 0.1.1. Every FFI entry point this package calls kept its signature; 0.1.3 only adds new ones (filtered discovery snapshots, an endpoint discovery callback, and a writer data representation query).
- Seed a large UDP socket buffer in
rmw_initso high-rate / large-message RELIABLE traffic no longer drops fragments. - Own
EventDatain the publisher/subscription entities and free it on destroy, closing a per-event-type leak. - Keep discovery reading when a sample outgrows the buffer, so a large discovery sample no longer blocks a participant.
- Report subscription matched via a cached event.
- Drop dead
package.xmldependencies. - Correct the
ament_linttest-status count in the README. - Poll the graph snapshot instead of waiting for it.
kGraphSnapshotTimeoutdrops to 0: a read leaves the instance in place, so an endpoint that has not arrived yet is picked up on the next pass and the 50 ms wait only burned the timeout. - Honor
ignore_local_publicationsin subscription readiness. - Contributors: Intellectus Corp.
0.1.1 (2026-08-28)
- Shrink the initial subscription receive buffer to 64 KiB. It is held
per subscription and zeroed by
resize(), so 2 MiB went resident on every first take; larger payloads still work through the existing grow-on-demand path. - Defer guard condition destruction until no wait set can reach it.
- Include
<utility>forstd::movein the wait set registry. - Free the sample sequence when a take returns no data.
- Poll for NOT_ALIVE endpoints instead of waiting for them.
- Load the
ament_cmake_rosbuildtool dependency the package already declared. Declaring without loading it set neitherBUILD_SHARED_LIBSnorROS_PACKAGE_NAME. - Add
testing/check-dependency-cycle.py, which replays the build farm's release job sort over this checkout, next to the container test harness. - Run that check in CI on every push and pull request to this branch.
- Contributors: Intellectus Corp.
0.1.0 (2026-08-21)
- Fix participant/context lifecycle: delete contained entities before the participant, release the participant when the last node is destroyed, recreate context DDS resources on node creation, and release all context resources on init failure.
- Apply requested QoS in services/clients; resolve BEST_AVAILABLE and SYSTEM_DEFAULT in the service actual QoS; apply deadline/liveliness.
- Wire localhost-only discovery into SPDP.
- Reject STRICTLY_REQUIRED unique network flow endpoints; restore content-filter field codes; set error messages on unsupported API stubs; ignore only same-node local publications; randomize the GID process field.
- Batch
take_sequenceinto a single serialized take. - Move development test executables into
test/; align QUALITY_DECLARATION and README test status with the current state. - Decide
rmw_waitreadiness before attaching to the wait set, so a call that finds work already pending skips the attach/wait/detach round trip. Guard conditions join the pre-wait scan through a non-destructive peek, and a zero-timeout poll no longer attaches at all. Saturated single-subscription throughput roughly doubles. - Add
test_rmw_wait_guards, the first automated test registered with CTest: guard condition readiness, trigger consumption, timeout handling and wake-up from another thread, all without a DDS participant. - Move the
int2dds_ffi_vendorpackage into this repository. Building from source no longer needs a second clone, and the dependency is declared without a version range because the two packages are now released in lockstep; the prebuilt FFI version stays pinned in one place,INT2DDS_FFI_VERSIONinint2dds_ffi_vendor/CMakeLists.txt. - Cache wait set attachments across
rmw_waitcalls, rebuild them by delta instead of a full reset, and skip the event status mask update when it is already set. - Harden the persistent attachment cache against teardown and concurrency: detach attachments before removing the wait set from the registry, keep the registry valid during static destruction, make the registry insert exception-safe, clean caches and delete the status condition on the detached service/client destroy path, clean caches before freeing the context guard, re-flag an entity for re-attach when its reader or event status condition is momentarily null, and close the destroy-vs-cache race in the attachments.
- Serialize the concurrent service RPC paths under a multi-threaded
executor: guard the response writer in
rmw_send_responseand the request/response readers inrmw_take_request/rmw_take_response
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
Dependant Packages
| Name | Deps |
|---|---|
| rmw_int2dds_validation |
Launch files
Messages
Services
Plugins
Recent questions tagged rmw_int2dds_cpp at Robotics Stack Exchange
|
rmw_int2dds_cpp package from rmw_int2dds repoint2dds_ffi_vendor rmw_int2dds_cpp rmw_int2dds_validation |
ROS Distro
|
Package Summary
| Version | 0.1.5 |
| License | Apache-2.0 |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Checkout URI | https://github.com/IntellectusCorp/rmw_int2dds.git |
| VCS Type | git |
| VCS Version | humble |
| Last Updated | 2026-09-11 |
| Dev Status | DEVELOPED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Jungsup Lee
Authors
- Intellectus Corp.
Changelog for package rmw_int2dds_cpp
0.1.5 (2026-09-10)
- Build against int2DDS FFI 0.1.5, up from 0.1.4.
- No other source changes.
- Contributors: Intellectus Corp.
0.1.4 (2026-09-04)
- Build against int2DDS FFI 0.1.4, up from 0.1.3. The FFI declarations are identical, so no call site changed.
- No other source changes.
- Contributors: Intellectus Corp.
0.1.3 (2026-09-02)
- Build against int2DDS FFI 0.1.3, up from 0.1.1. Every FFI entry point this package calls kept its signature; 0.1.3 only adds new ones (filtered discovery snapshots, an endpoint discovery callback, and a writer data representation query).
- Seed a large UDP socket buffer in
rmw_initso high-rate / large-message RELIABLE traffic no longer drops fragments. - Own
EventDatain the publisher/subscription entities and free it on destroy, closing a per-event-type leak. - Keep discovery reading when a sample outgrows the buffer, so a large discovery sample no longer blocks a participant.
- Report subscription matched via a cached event.
- Drop dead
package.xmldependencies. - Correct the
ament_linttest-status count in the README. - Poll the graph snapshot instead of waiting for it.
kGraphSnapshotTimeoutdrops to 0: a read leaves the instance in place, so an endpoint that has not arrived yet is picked up on the next pass and the 50 ms wait only burned the timeout. - Honor
ignore_local_publicationsin subscription readiness. - Contributors: Intellectus Corp.
0.1.1 (2026-08-28)
- Shrink the initial subscription receive buffer to 64 KiB. It is held
per subscription and zeroed by
resize(), so 2 MiB went resident on every first take; larger payloads still work through the existing grow-on-demand path. - Defer guard condition destruction until no wait set can reach it.
- Include
<utility>forstd::movein the wait set registry. - Free the sample sequence when a take returns no data.
- Poll for NOT_ALIVE endpoints instead of waiting for them.
- Load the
ament_cmake_rosbuildtool dependency the package already declared. Declaring without loading it set neitherBUILD_SHARED_LIBSnorROS_PACKAGE_NAME. - Add
testing/check-dependency-cycle.py, which replays the build farm's release job sort over this checkout, next to the container test harness. - Run that check in CI on every push and pull request to this branch.
- Contributors: Intellectus Corp.
0.1.0 (2026-08-21)
- Fix participant/context lifecycle: delete contained entities before the participant, release the participant when the last node is destroyed, recreate context DDS resources on node creation, and release all context resources on init failure.
- Apply requested QoS in services/clients; resolve BEST_AVAILABLE and SYSTEM_DEFAULT in the service actual QoS; apply deadline/liveliness.
- Wire localhost-only discovery into SPDP.
- Reject STRICTLY_REQUIRED unique network flow endpoints; restore content-filter field codes; set error messages on unsupported API stubs; ignore only same-node local publications; randomize the GID process field.
- Batch
take_sequenceinto a single serialized take. - Move development test executables into
test/; align QUALITY_DECLARATION and README test status with the current state. - Decide
rmw_waitreadiness before attaching to the wait set, so a call that finds work already pending skips the attach/wait/detach round trip. Guard conditions join the pre-wait scan through a non-destructive peek, and a zero-timeout poll no longer attaches at all. Saturated single-subscription throughput roughly doubles. - Add
test_rmw_wait_guards, the first automated test registered with CTest: guard condition readiness, trigger consumption, timeout handling and wake-up from another thread, all without a DDS participant. - Move the
int2dds_ffi_vendorpackage into this repository. Building from source no longer needs a second clone, and the dependency is declared without a version range because the two packages are now released in lockstep; the prebuilt FFI version stays pinned in one place,INT2DDS_FFI_VERSIONinint2dds_ffi_vendor/CMakeLists.txt. - Cache wait set attachments across
rmw_waitcalls, rebuild them by delta instead of a full reset, and skip the event status mask update when it is already set. - Harden the persistent attachment cache against teardown and concurrency: detach attachments before removing the wait set from the registry, keep the registry valid during static destruction, make the registry insert exception-safe, clean caches and delete the status condition on the detached service/client destroy path, clean caches before freeing the context guard, re-flag an entity for re-attach when its reader or event status condition is momentarily null, and close the destroy-vs-cache race in the attachments.
- Serialize the concurrent service RPC paths under a multi-threaded
executor: guard the response writer in
rmw_send_responseand the request/response readers inrmw_take_request/rmw_take_response
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
Dependant Packages
| Name | Deps |
|---|---|
| rmw_int2dds_validation |
Launch files
Messages
Services
Plugins
Recent questions tagged rmw_int2dds_cpp at Robotics Stack Exchange
|
rmw_int2dds_cpp package from rmw_int2dds repoint2dds_ffi_vendor rmw_int2dds_cpp rmw_int2dds_validation |
ROS Distro
|
Package Summary
| Version | 0.1.5 |
| License | Apache-2.0 |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Checkout URI | https://github.com/IntellectusCorp/rmw_int2dds.git |
| VCS Type | git |
| VCS Version | humble |
| Last Updated | 2026-09-11 |
| Dev Status | DEVELOPED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Jungsup Lee
Authors
- Intellectus Corp.
Changelog for package rmw_int2dds_cpp
0.1.5 (2026-09-10)
- Build against int2DDS FFI 0.1.5, up from 0.1.4.
- No other source changes.
- Contributors: Intellectus Corp.
0.1.4 (2026-09-04)
- Build against int2DDS FFI 0.1.4, up from 0.1.3. The FFI declarations are identical, so no call site changed.
- No other source changes.
- Contributors: Intellectus Corp.
0.1.3 (2026-09-02)
- Build against int2DDS FFI 0.1.3, up from 0.1.1. Every FFI entry point this package calls kept its signature; 0.1.3 only adds new ones (filtered discovery snapshots, an endpoint discovery callback, and a writer data representation query).
- Seed a large UDP socket buffer in
rmw_initso high-rate / large-message RELIABLE traffic no longer drops fragments. - Own
EventDatain the publisher/subscription entities and free it on destroy, closing a per-event-type leak. - Keep discovery reading when a sample outgrows the buffer, so a large discovery sample no longer blocks a participant.
- Report subscription matched via a cached event.
- Drop dead
package.xmldependencies. - Correct the
ament_linttest-status count in the README. - Poll the graph snapshot instead of waiting for it.
kGraphSnapshotTimeoutdrops to 0: a read leaves the instance in place, so an endpoint that has not arrived yet is picked up on the next pass and the 50 ms wait only burned the timeout. - Honor
ignore_local_publicationsin subscription readiness. - Contributors: Intellectus Corp.
0.1.1 (2026-08-28)
- Shrink the initial subscription receive buffer to 64 KiB. It is held
per subscription and zeroed by
resize(), so 2 MiB went resident on every first take; larger payloads still work through the existing grow-on-demand path. - Defer guard condition destruction until no wait set can reach it.
- Include
<utility>forstd::movein the wait set registry. - Free the sample sequence when a take returns no data.
- Poll for NOT_ALIVE endpoints instead of waiting for them.
- Load the
ament_cmake_rosbuildtool dependency the package already declared. Declaring without loading it set neitherBUILD_SHARED_LIBSnorROS_PACKAGE_NAME. - Add
testing/check-dependency-cycle.py, which replays the build farm's release job sort over this checkout, next to the container test harness. - Run that check in CI on every push and pull request to this branch.
- Contributors: Intellectus Corp.
0.1.0 (2026-08-21)
- Fix participant/context lifecycle: delete contained entities before the participant, release the participant when the last node is destroyed, recreate context DDS resources on node creation, and release all context resources on init failure.
- Apply requested QoS in services/clients; resolve BEST_AVAILABLE and SYSTEM_DEFAULT in the service actual QoS; apply deadline/liveliness.
- Wire localhost-only discovery into SPDP.
- Reject STRICTLY_REQUIRED unique network flow endpoints; restore content-filter field codes; set error messages on unsupported API stubs; ignore only same-node local publications; randomize the GID process field.
- Batch
take_sequenceinto a single serialized take. - Move development test executables into
test/; align QUALITY_DECLARATION and README test status with the current state. - Decide
rmw_waitreadiness before attaching to the wait set, so a call that finds work already pending skips the attach/wait/detach round trip. Guard conditions join the pre-wait scan through a non-destructive peek, and a zero-timeout poll no longer attaches at all. Saturated single-subscription throughput roughly doubles. - Add
test_rmw_wait_guards, the first automated test registered with CTest: guard condition readiness, trigger consumption, timeout handling and wake-up from another thread, all without a DDS participant. - Move the
int2dds_ffi_vendorpackage into this repository. Building from source no longer needs a second clone, and the dependency is declared without a version range because the two packages are now released in lockstep; the prebuilt FFI version stays pinned in one place,INT2DDS_FFI_VERSIONinint2dds_ffi_vendor/CMakeLists.txt. - Cache wait set attachments across
rmw_waitcalls, rebuild them by delta instead of a full reset, and skip the event status mask update when it is already set. - Harden the persistent attachment cache against teardown and concurrency: detach attachments before removing the wait set from the registry, keep the registry valid during static destruction, make the registry insert exception-safe, clean caches and delete the status condition on the detached service/client destroy path, clean caches before freeing the context guard, re-flag an entity for re-attach when its reader or event status condition is momentarily null, and close the destroy-vs-cache race in the attachments.
- Serialize the concurrent service RPC paths under a multi-threaded
executor: guard the response writer in
rmw_send_responseand the request/response readers inrmw_take_request/rmw_take_response
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
Dependant Packages
| Name | Deps |
|---|---|
| rmw_int2dds_validation |
Launch files
Messages
Services
Plugins
Recent questions tagged rmw_int2dds_cpp at Robotics Stack Exchange
|
rmw_int2dds_cpp package from rmw_int2dds repoint2dds_ffi_vendor rmw_int2dds_cpp rmw_int2dds_validation |
ROS Distro
|
Package Summary
| Version | 0.1.5 |
| License | Apache-2.0 |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Checkout URI | https://github.com/IntellectusCorp/rmw_int2dds.git |
| VCS Type | git |
| VCS Version | humble |
| Last Updated | 2026-09-11 |
| Dev Status | DEVELOPED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Jungsup Lee
Authors
- Intellectus Corp.
Changelog for package rmw_int2dds_cpp
0.1.5 (2026-09-10)
- Build against int2DDS FFI 0.1.5, up from 0.1.4.
- No other source changes.
- Contributors: Intellectus Corp.
0.1.4 (2026-09-04)
- Build against int2DDS FFI 0.1.4, up from 0.1.3. The FFI declarations are identical, so no call site changed.
- No other source changes.
- Contributors: Intellectus Corp.
0.1.3 (2026-09-02)
- Build against int2DDS FFI 0.1.3, up from 0.1.1. Every FFI entry point this package calls kept its signature; 0.1.3 only adds new ones (filtered discovery snapshots, an endpoint discovery callback, and a writer data representation query).
- Seed a large UDP socket buffer in
rmw_initso high-rate / large-message RELIABLE traffic no longer drops fragments. - Own
EventDatain the publisher/subscription entities and free it on destroy, closing a per-event-type leak. - Keep discovery reading when a sample outgrows the buffer, so a large discovery sample no longer blocks a participant.
- Report subscription matched via a cached event.
- Drop dead
package.xmldependencies. - Correct the
ament_linttest-status count in the README. - Poll the graph snapshot instead of waiting for it.
kGraphSnapshotTimeoutdrops to 0: a read leaves the instance in place, so an endpoint that has not arrived yet is picked up on the next pass and the 50 ms wait only burned the timeout. - Honor
ignore_local_publicationsin subscription readiness. - Contributors: Intellectus Corp.
0.1.1 (2026-08-28)
- Shrink the initial subscription receive buffer to 64 KiB. It is held
per subscription and zeroed by
resize(), so 2 MiB went resident on every first take; larger payloads still work through the existing grow-on-demand path. - Defer guard condition destruction until no wait set can reach it.
- Include
<utility>forstd::movein the wait set registry. - Free the sample sequence when a take returns no data.
- Poll for NOT_ALIVE endpoints instead of waiting for them.
- Load the
ament_cmake_rosbuildtool dependency the package already declared. Declaring without loading it set neitherBUILD_SHARED_LIBSnorROS_PACKAGE_NAME. - Add
testing/check-dependency-cycle.py, which replays the build farm's release job sort over this checkout, next to the container test harness. - Run that check in CI on every push and pull request to this branch.
- Contributors: Intellectus Corp.
0.1.0 (2026-08-21)
- Fix participant/context lifecycle: delete contained entities before the participant, release the participant when the last node is destroyed, recreate context DDS resources on node creation, and release all context resources on init failure.
- Apply requested QoS in services/clients; resolve BEST_AVAILABLE and SYSTEM_DEFAULT in the service actual QoS; apply deadline/liveliness.
- Wire localhost-only discovery into SPDP.
- Reject STRICTLY_REQUIRED unique network flow endpoints; restore content-filter field codes; set error messages on unsupported API stubs; ignore only same-node local publications; randomize the GID process field.
- Batch
take_sequenceinto a single serialized take. - Move development test executables into
test/; align QUALITY_DECLARATION and README test status with the current state. - Decide
rmw_waitreadiness before attaching to the wait set, so a call that finds work already pending skips the attach/wait/detach round trip. Guard conditions join the pre-wait scan through a non-destructive peek, and a zero-timeout poll no longer attaches at all. Saturated single-subscription throughput roughly doubles. - Add
test_rmw_wait_guards, the first automated test registered with CTest: guard condition readiness, trigger consumption, timeout handling and wake-up from another thread, all without a DDS participant. - Move the
int2dds_ffi_vendorpackage into this repository. Building from source no longer needs a second clone, and the dependency is declared without a version range because the two packages are now released in lockstep; the prebuilt FFI version stays pinned in one place,INT2DDS_FFI_VERSIONinint2dds_ffi_vendor/CMakeLists.txt. - Cache wait set attachments across
rmw_waitcalls, rebuild them by delta instead of a full reset, and skip the event status mask update when it is already set. - Harden the persistent attachment cache against teardown and concurrency: detach attachments before removing the wait set from the registry, keep the registry valid during static destruction, make the registry insert exception-safe, clean caches and delete the status condition on the detached service/client destroy path, clean caches before freeing the context guard, re-flag an entity for re-attach when its reader or event status condition is momentarily null, and close the destroy-vs-cache race in the attachments.
- Serialize the concurrent service RPC paths under a multi-threaded
executor: guard the response writer in
rmw_send_responseand the request/response readers inrmw_take_request/rmw_take_response
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
Dependant Packages
| Name | Deps |
|---|---|
| rmw_int2dds_validation |
Launch files
Messages
Services
Plugins
Recent questions tagged rmw_int2dds_cpp at Robotics Stack Exchange
|
rmw_int2dds_cpp package from rmw_int2dds repoint2dds_ffi_vendor rmw_int2dds_cpp rmw_int2dds_validation |
ROS Distro
|
Package Summary
| Version | 0.1.5 |
| License | Apache-2.0 |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Checkout URI | https://github.com/IntellectusCorp/rmw_int2dds.git |
| VCS Type | git |
| VCS Version | humble |
| Last Updated | 2026-09-11 |
| Dev Status | DEVELOPED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Jungsup Lee
Authors
- Intellectus Corp.
Changelog for package rmw_int2dds_cpp
0.1.5 (2026-09-10)
- Build against int2DDS FFI 0.1.5, up from 0.1.4.
- No other source changes.
- Contributors: Intellectus Corp.
0.1.4 (2026-09-04)
- Build against int2DDS FFI 0.1.4, up from 0.1.3. The FFI declarations are identical, so no call site changed.
- No other source changes.
- Contributors: Intellectus Corp.
0.1.3 (2026-09-02)
- Build against int2DDS FFI 0.1.3, up from 0.1.1. Every FFI entry point this package calls kept its signature; 0.1.3 only adds new ones (filtered discovery snapshots, an endpoint discovery callback, and a writer data representation query).
- Seed a large UDP socket buffer in
rmw_initso high-rate / large-message RELIABLE traffic no longer drops fragments. - Own
EventDatain the publisher/subscription entities and free it on destroy, closing a per-event-type leak. - Keep discovery reading when a sample outgrows the buffer, so a large discovery sample no longer blocks a participant.
- Report subscription matched via a cached event.
- Drop dead
package.xmldependencies. - Correct the
ament_linttest-status count in the README. - Poll the graph snapshot instead of waiting for it.
kGraphSnapshotTimeoutdrops to 0: a read leaves the instance in place, so an endpoint that has not arrived yet is picked up on the next pass and the 50 ms wait only burned the timeout. - Honor
ignore_local_publicationsin subscription readiness. - Contributors: Intellectus Corp.
0.1.1 (2026-08-28)
- Shrink the initial subscription receive buffer to 64 KiB. It is held
per subscription and zeroed by
resize(), so 2 MiB went resident on every first take; larger payloads still work through the existing grow-on-demand path. - Defer guard condition destruction until no wait set can reach it.
- Include
<utility>forstd::movein the wait set registry. - Free the sample sequence when a take returns no data.
- Poll for NOT_ALIVE endpoints instead of waiting for them.
- Load the
ament_cmake_rosbuildtool dependency the package already declared. Declaring without loading it set neitherBUILD_SHARED_LIBSnorROS_PACKAGE_NAME. - Add
testing/check-dependency-cycle.py, which replays the build farm's release job sort over this checkout, next to the container test harness. - Run that check in CI on every push and pull request to this branch.
- Contributors: Intellectus Corp.
0.1.0 (2026-08-21)
- Fix participant/context lifecycle: delete contained entities before the participant, release the participant when the last node is destroyed, recreate context DDS resources on node creation, and release all context resources on init failure.
- Apply requested QoS in services/clients; resolve BEST_AVAILABLE and SYSTEM_DEFAULT in the service actual QoS; apply deadline/liveliness.
- Wire localhost-only discovery into SPDP.
- Reject STRICTLY_REQUIRED unique network flow endpoints; restore content-filter field codes; set error messages on unsupported API stubs; ignore only same-node local publications; randomize the GID process field.
- Batch
take_sequenceinto a single serialized take. - Move development test executables into
test/; align QUALITY_DECLARATION and README test status with the current state. - Decide
rmw_waitreadiness before attaching to the wait set, so a call that finds work already pending skips the attach/wait/detach round trip. Guard conditions join the pre-wait scan through a non-destructive peek, and a zero-timeout poll no longer attaches at all. Saturated single-subscription throughput roughly doubles. - Add
test_rmw_wait_guards, the first automated test registered with CTest: guard condition readiness, trigger consumption, timeout handling and wake-up from another thread, all without a DDS participant. - Move the
int2dds_ffi_vendorpackage into this repository. Building from source no longer needs a second clone, and the dependency is declared without a version range because the two packages are now released in lockstep; the prebuilt FFI version stays pinned in one place,INT2DDS_FFI_VERSIONinint2dds_ffi_vendor/CMakeLists.txt. - Cache wait set attachments across
rmw_waitcalls, rebuild them by delta instead of a full reset, and skip the event status mask update when it is already set. - Harden the persistent attachment cache against teardown and concurrency: detach attachments before removing the wait set from the registry, keep the registry valid during static destruction, make the registry insert exception-safe, clean caches and delete the status condition on the detached service/client destroy path, clean caches before freeing the context guard, re-flag an entity for re-attach when its reader or event status condition is momentarily null, and close the destroy-vs-cache race in the attachments.
- Serialize the concurrent service RPC paths under a multi-threaded
executor: guard the response writer in
rmw_send_responseand the request/response readers inrmw_take_request/rmw_take_response
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
Dependant Packages
| Name | Deps |
|---|---|
| rmw_int2dds_validation |
Launch files
Messages
Services
Plugins
Recent questions tagged rmw_int2dds_cpp at Robotics Stack Exchange
|
rmw_int2dds_cpp package from rmw_int2dds repoint2dds_ffi_vendor rmw_int2dds_cpp rmw_int2dds_validation |
ROS Distro
|
Package Summary
| Version | 0.1.5 |
| License | Apache-2.0 |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Checkout URI | https://github.com/IntellectusCorp/rmw_int2dds.git |
| VCS Type | git |
| VCS Version | humble |
| Last Updated | 2026-09-11 |
| Dev Status | DEVELOPED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Jungsup Lee
Authors
- Intellectus Corp.
Changelog for package rmw_int2dds_cpp
0.1.5 (2026-09-10)
- Build against int2DDS FFI 0.1.5, up from 0.1.4.
- No other source changes.
- Contributors: Intellectus Corp.
0.1.4 (2026-09-04)
- Build against int2DDS FFI 0.1.4, up from 0.1.3. The FFI declarations are identical, so no call site changed.
- No other source changes.
- Contributors: Intellectus Corp.
0.1.3 (2026-09-02)
- Build against int2DDS FFI 0.1.3, up from 0.1.1. Every FFI entry point this package calls kept its signature; 0.1.3 only adds new ones (filtered discovery snapshots, an endpoint discovery callback, and a writer data representation query).
- Seed a large UDP socket buffer in
rmw_initso high-rate / large-message RELIABLE traffic no longer drops fragments. - Own
EventDatain the publisher/subscription entities and free it on destroy, closing a per-event-type leak. - Keep discovery reading when a sample outgrows the buffer, so a large discovery sample no longer blocks a participant.
- Report subscription matched via a cached event.
- Drop dead
package.xmldependencies. - Correct the
ament_linttest-status count in the README. - Poll the graph snapshot instead of waiting for it.
kGraphSnapshotTimeoutdrops to 0: a read leaves the instance in place, so an endpoint that has not arrived yet is picked up on the next pass and the 50 ms wait only burned the timeout. - Honor
ignore_local_publicationsin subscription readiness. - Contributors: Intellectus Corp.
0.1.1 (2026-08-28)
- Shrink the initial subscription receive buffer to 64 KiB. It is held
per subscription and zeroed by
resize(), so 2 MiB went resident on every first take; larger payloads still work through the existing grow-on-demand path. - Defer guard condition destruction until no wait set can reach it.
- Include
<utility>forstd::movein the wait set registry. - Free the sample sequence when a take returns no data.
- Poll for NOT_ALIVE endpoints instead of waiting for them.
- Load the
ament_cmake_rosbuildtool dependency the package already declared. Declaring without loading it set neitherBUILD_SHARED_LIBSnorROS_PACKAGE_NAME. - Add
testing/check-dependency-cycle.py, which replays the build farm's release job sort over this checkout, next to the container test harness. - Run that check in CI on every push and pull request to this branch.
- Contributors: Intellectus Corp.
0.1.0 (2026-08-21)
- Fix participant/context lifecycle: delete contained entities before the participant, release the participant when the last node is destroyed, recreate context DDS resources on node creation, and release all context resources on init failure.
- Apply requested QoS in services/clients; resolve BEST_AVAILABLE and SYSTEM_DEFAULT in the service actual QoS; apply deadline/liveliness.
- Wire localhost-only discovery into SPDP.
- Reject STRICTLY_REQUIRED unique network flow endpoints; restore content-filter field codes; set error messages on unsupported API stubs; ignore only same-node local publications; randomize the GID process field.
- Batch
take_sequenceinto a single serialized take. - Move development test executables into
test/; align QUALITY_DECLARATION and README test status with the current state. - Decide
rmw_waitreadiness before attaching to the wait set, so a call that finds work already pending skips the attach/wait/detach round trip. Guard conditions join the pre-wait scan through a non-destructive peek, and a zero-timeout poll no longer attaches at all. Saturated single-subscription throughput roughly doubles. - Add
test_rmw_wait_guards, the first automated test registered with CTest: guard condition readiness, trigger consumption, timeout handling and wake-up from another thread, all without a DDS participant. - Move the
int2dds_ffi_vendorpackage into this repository. Building from source no longer needs a second clone, and the dependency is declared without a version range because the two packages are now released in lockstep; the prebuilt FFI version stays pinned in one place,INT2DDS_FFI_VERSIONinint2dds_ffi_vendor/CMakeLists.txt. - Cache wait set attachments across
rmw_waitcalls, rebuild them by delta instead of a full reset, and skip the event status mask update when it is already set. - Harden the persistent attachment cache against teardown and concurrency: detach attachments before removing the wait set from the registry, keep the registry valid during static destruction, make the registry insert exception-safe, clean caches and delete the status condition on the detached service/client destroy path, clean caches before freeing the context guard, re-flag an entity for re-attach when its reader or event status condition is momentarily null, and close the destroy-vs-cache race in the attachments.
- Serialize the concurrent service RPC paths under a multi-threaded
executor: guard the response writer in
rmw_send_responseand the request/response readers inrmw_take_request/rmw_take_response
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
Dependant Packages
| Name | Deps |
|---|---|
| rmw_int2dds_validation |
Launch files
Messages
Services
Plugins
Recent questions tagged rmw_int2dds_cpp at Robotics Stack Exchange
|
rmw_int2dds_cpp package from rmw_int2dds repoint2dds_ffi_vendor rmw_int2dds_cpp rmw_int2dds_validation |
ROS Distro
|
Package Summary
| Version | 0.1.5 |
| License | Apache-2.0 |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Checkout URI | https://github.com/IntellectusCorp/rmw_int2dds.git |
| VCS Type | git |
| VCS Version | humble |
| Last Updated | 2026-09-11 |
| Dev Status | DEVELOPED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Jungsup Lee
Authors
- Intellectus Corp.
Changelog for package rmw_int2dds_cpp
0.1.5 (2026-09-10)
- Build against int2DDS FFI 0.1.5, up from 0.1.4.
- No other source changes.
- Contributors: Intellectus Corp.
0.1.4 (2026-09-04)
- Build against int2DDS FFI 0.1.4, up from 0.1.3. The FFI declarations are identical, so no call site changed.
- No other source changes.
- Contributors: Intellectus Corp.
0.1.3 (2026-09-02)
- Build against int2DDS FFI 0.1.3, up from 0.1.1. Every FFI entry point this package calls kept its signature; 0.1.3 only adds new ones (filtered discovery snapshots, an endpoint discovery callback, and a writer data representation query).
- Seed a large UDP socket buffer in
rmw_initso high-rate / large-message RELIABLE traffic no longer drops fragments. - Own
EventDatain the publisher/subscription entities and free it on destroy, closing a per-event-type leak. - Keep discovery reading when a sample outgrows the buffer, so a large discovery sample no longer blocks a participant.
- Report subscription matched via a cached event.
- Drop dead
package.xmldependencies. - Correct the
ament_linttest-status count in the README. - Poll the graph snapshot instead of waiting for it.
kGraphSnapshotTimeoutdrops to 0: a read leaves the instance in place, so an endpoint that has not arrived yet is picked up on the next pass and the 50 ms wait only burned the timeout. - Honor
ignore_local_publicationsin subscription readiness. - Contributors: Intellectus Corp.
0.1.1 (2026-08-28)
- Shrink the initial subscription receive buffer to 64 KiB. It is held
per subscription and zeroed by
resize(), so 2 MiB went resident on every first take; larger payloads still work through the existing grow-on-demand path. - Defer guard condition destruction until no wait set can reach it.
- Include
<utility>forstd::movein the wait set registry. - Free the sample sequence when a take returns no data.
- Poll for NOT_ALIVE endpoints instead of waiting for them.
- Load the
ament_cmake_rosbuildtool dependency the package already declared. Declaring without loading it set neitherBUILD_SHARED_LIBSnorROS_PACKAGE_NAME. - Add
testing/check-dependency-cycle.py, which replays the build farm's release job sort over this checkout, next to the container test harness. - Run that check in CI on every push and pull request to this branch.
- Contributors: Intellectus Corp.
0.1.0 (2026-08-21)
- Fix participant/context lifecycle: delete contained entities before the participant, release the participant when the last node is destroyed, recreate context DDS resources on node creation, and release all context resources on init failure.
- Apply requested QoS in services/clients; resolve BEST_AVAILABLE and SYSTEM_DEFAULT in the service actual QoS; apply deadline/liveliness.
- Wire localhost-only discovery into SPDP.
- Reject STRICTLY_REQUIRED unique network flow endpoints; restore content-filter field codes; set error messages on unsupported API stubs; ignore only same-node local publications; randomize the GID process field.
- Batch
take_sequenceinto a single serialized take. - Move development test executables into
test/; align QUALITY_DECLARATION and README test status with the current state. - Decide
rmw_waitreadiness before attaching to the wait set, so a call that finds work already pending skips the attach/wait/detach round trip. Guard conditions join the pre-wait scan through a non-destructive peek, and a zero-timeout poll no longer attaches at all. Saturated single-subscription throughput roughly doubles. - Add
test_rmw_wait_guards, the first automated test registered with CTest: guard condition readiness, trigger consumption, timeout handling and wake-up from another thread, all without a DDS participant. - Move the
int2dds_ffi_vendorpackage into this repository. Building from source no longer needs a second clone, and the dependency is declared without a version range because the two packages are now released in lockstep; the prebuilt FFI version stays pinned in one place,INT2DDS_FFI_VERSIONinint2dds_ffi_vendor/CMakeLists.txt. - Cache wait set attachments across
rmw_waitcalls, rebuild them by delta instead of a full reset, and skip the event status mask update when it is already set. - Harden the persistent attachment cache against teardown and concurrency: detach attachments before removing the wait set from the registry, keep the registry valid during static destruction, make the registry insert exception-safe, clean caches and delete the status condition on the detached service/client destroy path, clean caches before freeing the context guard, re-flag an entity for re-attach when its reader or event status condition is momentarily null, and close the destroy-vs-cache race in the attachments.
- Serialize the concurrent service RPC paths under a multi-threaded
executor: guard the response writer in
rmw_send_responseand the request/response readers inrmw_take_request/rmw_take_response
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
Dependant Packages
| Name | Deps |
|---|---|
| rmw_int2dds_validation |
Launch files
Messages
Services
Plugins
Recent questions tagged rmw_int2dds_cpp at Robotics Stack Exchange
|
rmw_int2dds_cpp package from rmw_int2dds repoint2dds_ffi_vendor rmw_int2dds_cpp rmw_int2dds_validation |
ROS Distro
|
Package Summary
| Version | 0.1.5 |
| License | Apache-2.0 |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Checkout URI | https://github.com/IntellectusCorp/rmw_int2dds.git |
| VCS Type | git |
| VCS Version | humble |
| Last Updated | 2026-09-11 |
| Dev Status | DEVELOPED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Jungsup Lee
Authors
- Intellectus Corp.
Changelog for package rmw_int2dds_cpp
0.1.5 (2026-09-10)
- Build against int2DDS FFI 0.1.5, up from 0.1.4.
- No other source changes.
- Contributors: Intellectus Corp.
0.1.4 (2026-09-04)
- Build against int2DDS FFI 0.1.4, up from 0.1.3. The FFI declarations are identical, so no call site changed.
- No other source changes.
- Contributors: Intellectus Corp.
0.1.3 (2026-09-02)
- Build against int2DDS FFI 0.1.3, up from 0.1.1. Every FFI entry point this package calls kept its signature; 0.1.3 only adds new ones (filtered discovery snapshots, an endpoint discovery callback, and a writer data representation query).
- Seed a large UDP socket buffer in
rmw_initso high-rate / large-message RELIABLE traffic no longer drops fragments. - Own
EventDatain the publisher/subscription entities and free it on destroy, closing a per-event-type leak. - Keep discovery reading when a sample outgrows the buffer, so a large discovery sample no longer blocks a participant.
- Report subscription matched via a cached event.
- Drop dead
package.xmldependencies. - Correct the
ament_linttest-status count in the README. - Poll the graph snapshot instead of waiting for it.
kGraphSnapshotTimeoutdrops to 0: a read leaves the instance in place, so an endpoint that has not arrived yet is picked up on the next pass and the 50 ms wait only burned the timeout. - Honor
ignore_local_publicationsin subscription readiness. - Contributors: Intellectus Corp.
0.1.1 (2026-08-28)
- Shrink the initial subscription receive buffer to 64 KiB. It is held
per subscription and zeroed by
resize(), so 2 MiB went resident on every first take; larger payloads still work through the existing grow-on-demand path. - Defer guard condition destruction until no wait set can reach it.
- Include
<utility>forstd::movein the wait set registry. - Free the sample sequence when a take returns no data.
- Poll for NOT_ALIVE endpoints instead of waiting for them.
- Load the
ament_cmake_rosbuildtool dependency the package already declared. Declaring without loading it set neitherBUILD_SHARED_LIBSnorROS_PACKAGE_NAME. - Add
testing/check-dependency-cycle.py, which replays the build farm's release job sort over this checkout, next to the container test harness. - Run that check in CI on every push and pull request to this branch.
- Contributors: Intellectus Corp.
0.1.0 (2026-08-21)
- Fix participant/context lifecycle: delete contained entities before the participant, release the participant when the last node is destroyed, recreate context DDS resources on node creation, and release all context resources on init failure.
- Apply requested QoS in services/clients; resolve BEST_AVAILABLE and SYSTEM_DEFAULT in the service actual QoS; apply deadline/liveliness.
- Wire localhost-only discovery into SPDP.
- Reject STRICTLY_REQUIRED unique network flow endpoints; restore content-filter field codes; set error messages on unsupported API stubs; ignore only same-node local publications; randomize the GID process field.
- Batch
take_sequenceinto a single serialized take. - Move development test executables into
test/; align QUALITY_DECLARATION and README test status with the current state. - Decide
rmw_waitreadiness before attaching to the wait set, so a call that finds work already pending skips the attach/wait/detach round trip. Guard conditions join the pre-wait scan through a non-destructive peek, and a zero-timeout poll no longer attaches at all. Saturated single-subscription throughput roughly doubles. - Add
test_rmw_wait_guards, the first automated test registered with CTest: guard condition readiness, trigger consumption, timeout handling and wake-up from another thread, all without a DDS participant. - Move the
int2dds_ffi_vendorpackage into this repository. Building from source no longer needs a second clone, and the dependency is declared without a version range because the two packages are now released in lockstep; the prebuilt FFI version stays pinned in one place,INT2DDS_FFI_VERSIONinint2dds_ffi_vendor/CMakeLists.txt. - Cache wait set attachments across
rmw_waitcalls, rebuild them by delta instead of a full reset, and skip the event status mask update when it is already set. - Harden the persistent attachment cache against teardown and concurrency: detach attachments before removing the wait set from the registry, keep the registry valid during static destruction, make the registry insert exception-safe, clean caches and delete the status condition on the detached service/client destroy path, clean caches before freeing the context guard, re-flag an entity for re-attach when its reader or event status condition is momentarily null, and close the destroy-vs-cache race in the attachments.
- Serialize the concurrent service RPC paths under a multi-threaded
executor: guard the response writer in
rmw_send_responseand the request/response readers inrmw_take_request/rmw_take_response
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
Dependant Packages
| Name | Deps |
|---|---|
| rmw_int2dds_validation |
Launch files
Messages
Services
Plugins
Recent questions tagged rmw_int2dds_cpp at Robotics Stack Exchange
|
rmw_int2dds_cpp package from rmw_int2dds repoint2dds_ffi_vendor rmw_int2dds_cpp rmw_int2dds_validation |
ROS Distro
|
Package Summary
| Version | 0.1.5 |
| License | Apache-2.0 |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Checkout URI | https://github.com/IntellectusCorp/rmw_int2dds.git |
| VCS Type | git |
| VCS Version | humble |
| Last Updated | 2026-09-11 |
| Dev Status | DEVELOPED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Jungsup Lee
Authors
- Intellectus Corp.
Changelog for package rmw_int2dds_cpp
0.1.5 (2026-09-10)
- Build against int2DDS FFI 0.1.5, up from 0.1.4.
- No other source changes.
- Contributors: Intellectus Corp.
0.1.4 (2026-09-04)
- Build against int2DDS FFI 0.1.4, up from 0.1.3. The FFI declarations are identical, so no call site changed.
- No other source changes.
- Contributors: Intellectus Corp.
0.1.3 (2026-09-02)
- Build against int2DDS FFI 0.1.3, up from 0.1.1. Every FFI entry point this package calls kept its signature; 0.1.3 only adds new ones (filtered discovery snapshots, an endpoint discovery callback, and a writer data representation query).
- Seed a large UDP socket buffer in
rmw_initso high-rate / large-message RELIABLE traffic no longer drops fragments. - Own
EventDatain the publisher/subscription entities and free it on destroy, closing a per-event-type leak. - Keep discovery reading when a sample outgrows the buffer, so a large discovery sample no longer blocks a participant.
- Report subscription matched via a cached event.
- Drop dead
package.xmldependencies. - Correct the
ament_linttest-status count in the README. - Poll the graph snapshot instead of waiting for it.
kGraphSnapshotTimeoutdrops to 0: a read leaves the instance in place, so an endpoint that has not arrived yet is picked up on the next pass and the 50 ms wait only burned the timeout. - Honor
ignore_local_publicationsin subscription readiness. - Contributors: Intellectus Corp.
0.1.1 (2026-08-28)
- Shrink the initial subscription receive buffer to 64 KiB. It is held
per subscription and zeroed by
resize(), so 2 MiB went resident on every first take; larger payloads still work through the existing grow-on-demand path. - Defer guard condition destruction until no wait set can reach it.
- Include
<utility>forstd::movein the wait set registry. - Free the sample sequence when a take returns no data.
- Poll for NOT_ALIVE endpoints instead of waiting for them.
- Load the
ament_cmake_rosbuildtool dependency the package already declared. Declaring without loading it set neitherBUILD_SHARED_LIBSnorROS_PACKAGE_NAME. - Add
testing/check-dependency-cycle.py, which replays the build farm's release job sort over this checkout, next to the container test harness. - Run that check in CI on every push and pull request to this branch.
- Contributors: Intellectus Corp.
0.1.0 (2026-08-21)
- Fix participant/context lifecycle: delete contained entities before the participant, release the participant when the last node is destroyed, recreate context DDS resources on node creation, and release all context resources on init failure.
- Apply requested QoS in services/clients; resolve BEST_AVAILABLE and SYSTEM_DEFAULT in the service actual QoS; apply deadline/liveliness.
- Wire localhost-only discovery into SPDP.
- Reject STRICTLY_REQUIRED unique network flow endpoints; restore content-filter field codes; set error messages on unsupported API stubs; ignore only same-node local publications; randomize the GID process field.
- Batch
take_sequenceinto a single serialized take. - Move development test executables into
test/; align QUALITY_DECLARATION and README test status with the current state. - Decide
rmw_waitreadiness before attaching to the wait set, so a call that finds work already pending skips the attach/wait/detach round trip. Guard conditions join the pre-wait scan through a non-destructive peek, and a zero-timeout poll no longer attaches at all. Saturated single-subscription throughput roughly doubles. - Add
test_rmw_wait_guards, the first automated test registered with CTest: guard condition readiness, trigger consumption, timeout handling and wake-up from another thread, all without a DDS participant. - Move the
int2dds_ffi_vendorpackage into this repository. Building from source no longer needs a second clone, and the dependency is declared without a version range because the two packages are now released in lockstep; the prebuilt FFI version stays pinned in one place,INT2DDS_FFI_VERSIONinint2dds_ffi_vendor/CMakeLists.txt. - Cache wait set attachments across
rmw_waitcalls, rebuild them by delta instead of a full reset, and skip the event status mask update when it is already set. - Harden the persistent attachment cache against teardown and concurrency: detach attachments before removing the wait set from the registry, keep the registry valid during static destruction, make the registry insert exception-safe, clean caches and delete the status condition on the detached service/client destroy path, clean caches before freeing the context guard, re-flag an entity for re-attach when its reader or event status condition is momentarily null, and close the destroy-vs-cache race in the attachments.
- Serialize the concurrent service RPC paths under a multi-threaded
executor: guard the response writer in
rmw_send_responseand the request/response readers inrmw_take_request/rmw_take_response
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
Dependant Packages
| Name | Deps |
|---|---|
| rmw_int2dds_validation |