Repo symbol

rmw_int2dds repository

rmw_int2dds_cpp

ROS Distro
humble

Repository Summary

Checkout URI https://github.com/IntellectusCorp/rmw_int2dds.git
VCS Type git
VCS Version humble
Last Updated 2026-07-15
Dev Status DEVELOPED
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Packages

Name Version
rmw_int2dds_cpp 0.1.0

README

ROS 2 RMW for int2DDS

A **ROS 2 RMW implementation** that binds the **int2DDS** DDS/RTPS middleware to the ROS 2 middleware (RMW) interface.

Overview

rmw_int2dds_cpp lets ROS 2 applications run on top of int2DDS, a Rust implementation of the OMG DDS standard (RTPS 2.5). It implements the ROS 2 rmw C interface so that any ROS 2 stack (rclcpp, rclpy, ros2 CLI, tools) can use int2DDS as its middleware via RMW_IMPLEMENTATION=rmw_int2dds_cpp.

Status: work in progress — APIs and test results are being stabilized ahead of a request for Tier 3 status in REP 2000.

Supported ROS 2 distributions

Distribution Status
Humble Hawksbill (LTS) Supported (verified)
Jazzy Jalisco (LTS) Supported (verified)
Lyrical Luth (LTS) Supported (verified)

Supported platforms

Platform Architectures Status
Ubuntu (Linux) amd64 Supported (verified)
Ubuntu (Linux) arm64 Target (library builds; board validation pending)

Quick Start

# 1) Get the sources into your ROS 2 workspace
mkdir -p ~/ros2_ws/src && cd ~/ros2_ws/src
git clone -b humble https://github.com/IntellectusCorp/rmw_int2dds.git
git clone https://github.com/IntellectusCorp/int2dds_ffi_vendor.git

# 2) Build
cd ~/ros2_ws
source /opt/ros/humble/setup.bash
colcon build --packages-up-to rmw_int2dds_cpp
source install/setup.bash

# 3) Select int2DDS as the middleware
export RMW_IMPLEMENTATION=rmw_int2dds_cpp

# 4) Run any ROS 2 demo
ros2 run demo_nodes_cpp talker
# in another terminal (same RMW_IMPLEMENTATION):
ros2 run demo_nodes_cpp listener

Binary install (.deb)

Prebuilt packages let you skip colcon build. Download the two .debs for your distro + architecture from the Releases page, then:

sudo apt install ./ros-humble-int2dds-ffi-vendor_*_amd64.deb \
                 ./ros-humble-rmw-int2dds-cpp_*_amd64.deb
source /opt/ros/humble/setup.bash
export RMW_IMPLEMENTATION=rmw_int2dds_cpp
ros2 run demo_nodes_cpp talker

apt install ./file.deb installs the file and resolves its dependencies (the rmw package pulls in the vendor package automatically). The RMW library and its ament-index marker install into /opt/ros/humble/, so once the environment is sourced only RMW_IMPLEMENTATION needs to be set.

Supported: jazzy / humble / rolling × amd64 / arm64. armhf is best-effort — there are no official ROS 2 armhf apt packages, so an armhf .deb only works on a system where ROS 2 was itself built from source for armhf.

To build the packages yourself: packaging/build-deb.sh <distro> <arch> (needs Docker; see packaging/ for the build and verification scripts).

Middleware library dependency

This package links against the closed-source int2DDS FFI library (libint2dds_ffi.so* and int2dds-ffi.h), which is provided by the int2dds_ffi_vendor package. The vendor package downloads the release artifact, verifies the selected library against the manifest, and exports the int2dds_ffi::int2dds_ffi CMake target used by this RMW package.

Test status

All results below were produced by running the listed suites directly; see doc/ for methodology. Same-vendor and cross-vendor integration tests use the official ROS 2 repositories (rmw_implementation, system_tests).

| Suite | Lyrical | Jazzy | Humble | |—|—|—|—|

File truncated at 100 lines see the full file

CONTRIBUTING

Contributing to rmw_int2dds_cpp

Thank you for your interest in contributing! This package is the ROS 2 RMW binding for int2DDS. For contributions to the underlying DDS core, see the int2DDS repository.

Code of Conduct

This project adheres to a Code of Conduct.

Contributor License Agreement (CLA)

By submitting a pull request you agree to the project CLA (individual / corporate).

Development Environment

Prerequisites

  • A supported ROS 2 distribution (Humble or Jazzy) installed and sourced
  • colcon build tool
  • A C++17 compiler (GCC/Clang/MSVC), CMake >= 3.14.4
  • The int2DDS core library available as a dependency

Workspace setup

mkdir -p ~/ros2_ws/src && cd ~/ros2_ws/src
git clone https://github.com/IntellectusCorp/rmw_int2dds.git
cd ~/ros2_ws
rosdep install --from-paths src --ignore-src -r -y

Building and Testing

# Build
colcon build --packages-up-to rmw_int2dds_cpp

# Run this package's tests
colcon test --packages-select rmw_int2dds_cpp
colcon test-result --verbose

# Run the RMW interface conformance suite against int2DDS
RMW_IMPLEMENTATION=rmw_int2dds_cpp \
  colcon test --packages-select test_rmw_implementation

Tier 3 listing requires the full test_rmw_implementation suite to pass.

Code Style

This package follows the ROS 2 Code Style and Language Versions guide:

  • C++17, max line length 100, .hpp/.cpp extensions
  • Linters run as tests via ament_lint_auto + ament_lint_common (ament_clang_format, ament_cpplint, ament_uncrustify, ament_cppcheck)
  • Build with -Wall -Wextra -Wpedantic
# Run linters
colcon test --packages-select rmw_int2dds_cpp --ctest-args -R lint

Commit Messages

Use the format TYPE: short description (max 72 chars), imperative mood. Types: FEAT, FIX, DOCS, STYLE, REFACTOR, TEST, CHORE, PERF. Reference issues with Fixes #123.

Branch Naming

feature/, fix/, hotfix/, docs/, refactor/, test/ prefixes; lowercase with hyphens (e.g., feature/qos-deadline).

Pull Request Process

  1. Rebase on the latest upstream/main.
  2. Ensure colcon build and colcon test pass, including linters.
  3. Update documentation and CHANGELOG.rst if behavior or APIs changed.
  4. Open a PR with a clear summary, rationale, and testing notes.
  5. Request review from maintainers.

Reporting Bugs

Open a GitHub issue with: description, reproduction steps, expected vs actual behavior, environment (OS, ROS 2 distro, int2DDS version), and logs. For security issues, follow SECURITY.md instead.

License

By contributing, you agree your contributions are licensed under the Apache License 2.0.

License of contributions

Any contribution that you make to this repository will be under the Apache 2 License, as dictated by that

File truncated at 100 lines see the full file

# Contributing to rmw_int2dds_cpp Thank you for your interest in contributing! This package is the ROS 2 RMW binding for int2DDS. For contributions to the underlying DDS core, see the [int2DDS](https://github.com/IntellectusCorp/int2DDS) repository. ## Code of Conduct This project adheres to a [Code of Conduct](CODE_OF_CONDUCT.md). ## Contributor License Agreement (CLA) By submitting a pull request you agree to the project CLA ([individual](CLA-Individual.md) / [corporate](CLA-Corporate.md)). ## Development Environment ### Prerequisites - A supported **ROS 2** distribution (Humble or Jazzy) installed and sourced - **colcon** build tool - A C++17 compiler (GCC/Clang/MSVC), CMake >= 3.14.4 - The **int2DDS** core library available as a dependency ### Workspace setup ```bash mkdir -p ~/ros2_ws/src && cd ~/ros2_ws/src git clone https://github.com/IntellectusCorp/rmw_int2dds.git cd ~/ros2_ws rosdep install --from-paths src --ignore-src -r -y ``` ## Building and Testing ```bash # Build colcon build --packages-up-to rmw_int2dds_cpp # Run this package's tests colcon test --packages-select rmw_int2dds_cpp colcon test-result --verbose # Run the RMW interface conformance suite against int2DDS RMW_IMPLEMENTATION=rmw_int2dds_cpp \ colcon test --packages-select test_rmw_implementation ``` > Tier 3 listing requires the full `test_rmw_implementation` suite to pass. ## Code Style This package follows the ROS 2 [Code Style and Language Versions](https://docs.ros.org/en/jazzy/The-ROS2-Project/Contributing/Code-Style-Language-Versions.html) guide: - C++17, max line length 100, `.hpp`/`.cpp` extensions - Linters run as tests via `ament_lint_auto` + `ament_lint_common` (`ament_clang_format`, `ament_cpplint`, `ament_uncrustify`, `ament_cppcheck`) - Build with `-Wall -Wextra -Wpedantic` ```bash # Run linters colcon test --packages-select rmw_int2dds_cpp --ctest-args -R lint ``` ## Commit Messages Use the format `TYPE: short description` (max 72 chars), imperative mood. Types: `FEAT`, `FIX`, `DOCS`, `STYLE`, `REFACTOR`, `TEST`, `CHORE`, `PERF`. Reference issues with `Fixes #123`. ## Branch Naming `feature/`, `fix/`, `hotfix/`, `docs/`, `refactor/`, `test/` prefixes; lowercase with hyphens (e.g., `feature/qos-deadline`). ## Pull Request Process 1. Rebase on the latest `upstream/main`. 2. Ensure `colcon build` and `colcon test` pass, including linters. 3. Update documentation and `CHANGELOG.rst` if behavior or APIs changed. 4. Open a PR with a clear summary, rationale, and testing notes. 5. Request review from maintainers. ## Reporting Bugs Open a GitHub issue with: description, reproduction steps, expected vs actual behavior, environment (OS, ROS 2 distro, int2DDS version), and logs. For security issues, follow [SECURITY.md](SECURITY.md) instead. ## License By contributing, you agree your contributions are licensed under the [Apache License 2.0](LICENSE). ## License of contributions Any contribution that you make to this repository will be under the Apache 2 License, as dictated by that File truncated at 100 lines [see the full file](https://github.com/IntellectusCorp/rmw_int2dds/tree/humble/CONTRIBUTING.md)
Repo symbol

rmw_int2dds repository

rmw_int2dds_cpp

ROS Distro
jazzy

Repository Summary

Checkout URI https://github.com/IntellectusCorp/rmw_int2dds.git
VCS Type git
VCS Version jazzy
Last Updated 2026-07-15
Dev Status DEVELOPED
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Packages

Name Version
rmw_int2dds_cpp 0.1.0

README

ROS 2 RMW for int2DDS

A **ROS 2 RMW implementation** that binds the **int2DDS** DDS/RTPS middleware to the ROS 2 middleware (RMW) interface.

Overview

rmw_int2dds_cpp lets ROS 2 applications run on top of int2DDS, a Rust implementation of the OMG DDS standard (RTPS 2.5). It implements the ROS 2 rmw C interface so that any ROS 2 stack (rclcpp, rclpy, ros2 CLI, tools) can use int2DDS as its middleware via RMW_IMPLEMENTATION=rmw_int2dds_cpp.

Status: work in progress — APIs and test results are being stabilized ahead of a request for Tier 3 status in REP 2000.

Supported ROS 2 distributions

Distribution Status
Humble Hawksbill (LTS) Supported (verified)
Jazzy Jalisco (LTS) Supported (verified)
Lyrical Luth (LTS) Supported (verified)

Supported platforms

Platform Architectures Status
Ubuntu (Linux) amd64 Supported (verified)
Ubuntu (Linux) arm64 Target (library builds; board validation pending)

Quick Start

# 1) Get the sources into your ROS 2 workspace
mkdir -p ~/ros2_ws/src && cd ~/ros2_ws/src
git clone -b jazzy https://github.com/IntellectusCorp/rmw_int2dds.git
git clone https://github.com/IntellectusCorp/int2dds_ffi_vendor.git

# 2) Build
cd ~/ros2_ws
source /opt/ros/jazzy/setup.bash
colcon build --packages-up-to rmw_int2dds_cpp
source install/setup.bash

# 3) Select int2DDS as the middleware
export RMW_IMPLEMENTATION=rmw_int2dds_cpp

# 4) Run any ROS 2 demo
ros2 run demo_nodes_cpp talker
# in another terminal (same RMW_IMPLEMENTATION):
ros2 run demo_nodes_cpp listener

Binary install (.deb)

Prebuilt packages let you skip colcon build. Download the two .debs for your distro + architecture from the Releases page, then:

sudo apt install ./ros-jazzy-int2dds-ffi-vendor_*_amd64.deb \
                 ./ros-jazzy-rmw-int2dds-cpp_*_amd64.deb
source /opt/ros/jazzy/setup.bash
export RMW_IMPLEMENTATION=rmw_int2dds_cpp
ros2 run demo_nodes_cpp talker

apt install ./file.deb installs the file and resolves its dependencies (the rmw package pulls in the vendor package automatically). The RMW library and its ament-index marker install into /opt/ros/jazzy/, so once the environment is sourced only RMW_IMPLEMENTATION needs to be set.

Supported: jazzy / humble / rolling × amd64 / arm64. armhf is best-effort — there are no official ROS 2 armhf apt packages, so an armhf .deb only works on a system where ROS 2 was itself built from source for armhf.

To build the packages yourself: packaging/build-deb.sh <distro> <arch> (needs Docker; see packaging/ for the build and verification scripts).

Middleware library dependency

This package links against the closed-source int2DDS FFI library (libint2dds_ffi.so* and int2dds-ffi.h), which is provided by the int2dds_ffi_vendor package. The vendor package downloads the release artifact, verifies the selected library against the manifest, and exports the int2dds_ffi::int2dds_ffi CMake target used by this RMW package.

Test status

All results below were produced by running the listed suites directly; see doc/ for methodology. Same-vendor and cross-vendor integration tests use the official ROS 2 repositories (rmw_implementation, system_tests).

| Suite | Lyrical | Jazzy | Humble | |—|—|—|—|

File truncated at 100 lines see the full file

CONTRIBUTING

Contributing to rmw_int2dds_cpp

Thank you for your interest in contributing! This package is the ROS 2 RMW binding for int2DDS. For contributions to the underlying DDS core, see the int2DDS repository.

Code of Conduct

This project adheres to a Code of Conduct.

Contributor License Agreement (CLA)

By submitting a pull request you agree to the project CLA (individual / corporate).

Development Environment

Prerequisites

  • A supported ROS 2 distribution (Humble or Jazzy) installed and sourced
  • colcon build tool
  • A C++17 compiler (GCC/Clang/MSVC), CMake >= 3.14.4
  • The int2DDS core library available as a dependency

Workspace setup

mkdir -p ~/ros2_ws/src && cd ~/ros2_ws/src
git clone https://github.com/IntellectusCorp/rmw_int2dds.git
cd ~/ros2_ws
rosdep install --from-paths src --ignore-src -r -y

Building and Testing

# Build
colcon build --packages-up-to rmw_int2dds_cpp

# Run this package's tests
colcon test --packages-select rmw_int2dds_cpp
colcon test-result --verbose

# Run the RMW interface conformance suite against int2DDS
RMW_IMPLEMENTATION=rmw_int2dds_cpp \
  colcon test --packages-select test_rmw_implementation

Tier 3 listing requires the full test_rmw_implementation suite to pass.

Code Style

This package follows the ROS 2 Code Style and Language Versions guide:

  • C++17, max line length 100, .hpp/.cpp extensions
  • Linters run as tests via ament_lint_auto + ament_lint_common (ament_clang_format, ament_cpplint, ament_uncrustify, ament_cppcheck)
  • Build with -Wall -Wextra -Wpedantic
# Run linters
colcon test --packages-select rmw_int2dds_cpp --ctest-args -R lint

Commit Messages

Use the format TYPE: short description (max 72 chars), imperative mood. Types: FEAT, FIX, DOCS, STYLE, REFACTOR, TEST, CHORE, PERF. Reference issues with Fixes #123.

Branch Naming

feature/, fix/, hotfix/, docs/, refactor/, test/ prefixes; lowercase with hyphens (e.g., feature/qos-deadline).

Pull Request Process

  1. Rebase on the latest upstream/main.
  2. Ensure colcon build and colcon test pass, including linters.
  3. Update documentation and CHANGELOG.rst if behavior or APIs changed.
  4. Open a PR with a clear summary, rationale, and testing notes.
  5. Request review from maintainers.

Reporting Bugs

Open a GitHub issue with: description, reproduction steps, expected vs actual behavior, environment (OS, ROS 2 distro, int2DDS version), and logs. For security issues, follow SECURITY.md instead.

License

By contributing, you agree your contributions are licensed under the Apache License 2.0.

License of contributions

Any contribution that you make to this repository will be under the Apache 2 License, as dictated by that

File truncated at 100 lines see the full file

# Contributing to rmw_int2dds_cpp Thank you for your interest in contributing! This package is the ROS 2 RMW binding for int2DDS. For contributions to the underlying DDS core, see the [int2DDS](https://github.com/IntellectusCorp/int2DDS) repository. ## Code of Conduct This project adheres to a [Code of Conduct](CODE_OF_CONDUCT.md). ## Contributor License Agreement (CLA) By submitting a pull request you agree to the project CLA ([individual](CLA-Individual.md) / [corporate](CLA-Corporate.md)). ## Development Environment ### Prerequisites - A supported **ROS 2** distribution (Humble or Jazzy) installed and sourced - **colcon** build tool - A C++17 compiler (GCC/Clang/MSVC), CMake >= 3.14.4 - The **int2DDS** core library available as a dependency ### Workspace setup ```bash mkdir -p ~/ros2_ws/src && cd ~/ros2_ws/src git clone https://github.com/IntellectusCorp/rmw_int2dds.git cd ~/ros2_ws rosdep install --from-paths src --ignore-src -r -y ``` ## Building and Testing ```bash # Build colcon build --packages-up-to rmw_int2dds_cpp # Run this package's tests colcon test --packages-select rmw_int2dds_cpp colcon test-result --verbose # Run the RMW interface conformance suite against int2DDS RMW_IMPLEMENTATION=rmw_int2dds_cpp \ colcon test --packages-select test_rmw_implementation ``` > Tier 3 listing requires the full `test_rmw_implementation` suite to pass. ## Code Style This package follows the ROS 2 [Code Style and Language Versions](https://docs.ros.org/en/jazzy/The-ROS2-Project/Contributing/Code-Style-Language-Versions.html) guide: - C++17, max line length 100, `.hpp`/`.cpp` extensions - Linters run as tests via `ament_lint_auto` + `ament_lint_common` (`ament_clang_format`, `ament_cpplint`, `ament_uncrustify`, `ament_cppcheck`) - Build with `-Wall -Wextra -Wpedantic` ```bash # Run linters colcon test --packages-select rmw_int2dds_cpp --ctest-args -R lint ``` ## Commit Messages Use the format `TYPE: short description` (max 72 chars), imperative mood. Types: `FEAT`, `FIX`, `DOCS`, `STYLE`, `REFACTOR`, `TEST`, `CHORE`, `PERF`. Reference issues with `Fixes #123`. ## Branch Naming `feature/`, `fix/`, `hotfix/`, `docs/`, `refactor/`, `test/` prefixes; lowercase with hyphens (e.g., `feature/qos-deadline`). ## Pull Request Process 1. Rebase on the latest `upstream/main`. 2. Ensure `colcon build` and `colcon test` pass, including linters. 3. Update documentation and `CHANGELOG.rst` if behavior or APIs changed. 4. Open a PR with a clear summary, rationale, and testing notes. 5. Request review from maintainers. ## Reporting Bugs Open a GitHub issue with: description, reproduction steps, expected vs actual behavior, environment (OS, ROS 2 distro, int2DDS version), and logs. For security issues, follow [SECURITY.md](SECURITY.md) instead. ## License By contributing, you agree your contributions are licensed under the [Apache License 2.0](LICENSE). ## License of contributions Any contribution that you make to this repository will be under the Apache 2 License, as dictated by that File truncated at 100 lines [see the full file](https://github.com/IntellectusCorp/rmw_int2dds/tree/jazzy/CONTRIBUTING.md)
No version for distro kilted showing humble. Known supported distros are highlighted in the buttons above.
Repo symbol

rmw_int2dds repository

rmw_int2dds_cpp

ROS Distro
humble

Repository Summary

Checkout URI https://github.com/IntellectusCorp/rmw_int2dds.git
VCS Type git
VCS Version humble
Last Updated 2026-07-15
Dev Status DEVELOPED
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Packages

Name Version
rmw_int2dds_cpp 0.1.0

README

ROS 2 RMW for int2DDS

A **ROS 2 RMW implementation** that binds the **int2DDS** DDS/RTPS middleware to the ROS 2 middleware (RMW) interface.

Overview

rmw_int2dds_cpp lets ROS 2 applications run on top of int2DDS, a Rust implementation of the OMG DDS standard (RTPS 2.5). It implements the ROS 2 rmw C interface so that any ROS 2 stack (rclcpp, rclpy, ros2 CLI, tools) can use int2DDS as its middleware via RMW_IMPLEMENTATION=rmw_int2dds_cpp.

Status: work in progress — APIs and test results are being stabilized ahead of a request for Tier 3 status in REP 2000.

Supported ROS 2 distributions

Distribution Status
Humble Hawksbill (LTS) Supported (verified)
Jazzy Jalisco (LTS) Supported (verified)
Lyrical Luth (LTS) Supported (verified)

Supported platforms

Platform Architectures Status
Ubuntu (Linux) amd64 Supported (verified)
Ubuntu (Linux) arm64 Target (library builds; board validation pending)

Quick Start

# 1) Get the sources into your ROS 2 workspace
mkdir -p ~/ros2_ws/src && cd ~/ros2_ws/src
git clone -b humble https://github.com/IntellectusCorp/rmw_int2dds.git
git clone https://github.com/IntellectusCorp/int2dds_ffi_vendor.git

# 2) Build
cd ~/ros2_ws
source /opt/ros/humble/setup.bash
colcon build --packages-up-to rmw_int2dds_cpp
source install/setup.bash

# 3) Select int2DDS as the middleware
export RMW_IMPLEMENTATION=rmw_int2dds_cpp

# 4) Run any ROS 2 demo
ros2 run demo_nodes_cpp talker
# in another terminal (same RMW_IMPLEMENTATION):
ros2 run demo_nodes_cpp listener

Binary install (.deb)

Prebuilt packages let you skip colcon build. Download the two .debs for your distro + architecture from the Releases page, then:

sudo apt install ./ros-humble-int2dds-ffi-vendor_*_amd64.deb \
                 ./ros-humble-rmw-int2dds-cpp_*_amd64.deb
source /opt/ros/humble/setup.bash
export RMW_IMPLEMENTATION=rmw_int2dds_cpp
ros2 run demo_nodes_cpp talker

apt install ./file.deb installs the file and resolves its dependencies (the rmw package pulls in the vendor package automatically). The RMW library and its ament-index marker install into /opt/ros/humble/, so once the environment is sourced only RMW_IMPLEMENTATION needs to be set.

Supported: jazzy / humble / rolling × amd64 / arm64. armhf is best-effort — there are no official ROS 2 armhf apt packages, so an armhf .deb only works on a system where ROS 2 was itself built from source for armhf.

To build the packages yourself: packaging/build-deb.sh <distro> <arch> (needs Docker; see packaging/ for the build and verification scripts).

Middleware library dependency

This package links against the closed-source int2DDS FFI library (libint2dds_ffi.so* and int2dds-ffi.h), which is provided by the int2dds_ffi_vendor package. The vendor package downloads the release artifact, verifies the selected library against the manifest, and exports the int2dds_ffi::int2dds_ffi CMake target used by this RMW package.

Test status

All results below were produced by running the listed suites directly; see doc/ for methodology. Same-vendor and cross-vendor integration tests use the official ROS 2 repositories (rmw_implementation, system_tests).

| Suite | Lyrical | Jazzy | Humble | |—|—|—|—|

File truncated at 100 lines see the full file

CONTRIBUTING

Contributing to rmw_int2dds_cpp

Thank you for your interest in contributing! This package is the ROS 2 RMW binding for int2DDS. For contributions to the underlying DDS core, see the int2DDS repository.

Code of Conduct

This project adheres to a Code of Conduct.

Contributor License Agreement (CLA)

By submitting a pull request you agree to the project CLA (individual / corporate).

Development Environment

Prerequisites

  • A supported ROS 2 distribution (Humble or Jazzy) installed and sourced
  • colcon build tool
  • A C++17 compiler (GCC/Clang/MSVC), CMake >= 3.14.4
  • The int2DDS core library available as a dependency

Workspace setup

mkdir -p ~/ros2_ws/src && cd ~/ros2_ws/src
git clone https://github.com/IntellectusCorp/rmw_int2dds.git
cd ~/ros2_ws
rosdep install --from-paths src --ignore-src -r -y

Building and Testing

# Build
colcon build --packages-up-to rmw_int2dds_cpp

# Run this package's tests
colcon test --packages-select rmw_int2dds_cpp
colcon test-result --verbose

# Run the RMW interface conformance suite against int2DDS
RMW_IMPLEMENTATION=rmw_int2dds_cpp \
  colcon test --packages-select test_rmw_implementation

Tier 3 listing requires the full test_rmw_implementation suite to pass.

Code Style

This package follows the ROS 2 Code Style and Language Versions guide:

  • C++17, max line length 100, .hpp/.cpp extensions
  • Linters run as tests via ament_lint_auto + ament_lint_common (ament_clang_format, ament_cpplint, ament_uncrustify, ament_cppcheck)
  • Build with -Wall -Wextra -Wpedantic
# Run linters
colcon test --packages-select rmw_int2dds_cpp --ctest-args -R lint

Commit Messages

Use the format TYPE: short description (max 72 chars), imperative mood. Types: FEAT, FIX, DOCS, STYLE, REFACTOR, TEST, CHORE, PERF. Reference issues with Fixes #123.

Branch Naming

feature/, fix/, hotfix/, docs/, refactor/, test/ prefixes; lowercase with hyphens (e.g., feature/qos-deadline).

Pull Request Process

  1. Rebase on the latest upstream/main.
  2. Ensure colcon build and colcon test pass, including linters.
  3. Update documentation and CHANGELOG.rst if behavior or APIs changed.
  4. Open a PR with a clear summary, rationale, and testing notes.
  5. Request review from maintainers.

Reporting Bugs

Open a GitHub issue with: description, reproduction steps, expected vs actual behavior, environment (OS, ROS 2 distro, int2DDS version), and logs. For security issues, follow SECURITY.md instead.

License

By contributing, you agree your contributions are licensed under the Apache License 2.0.

License of contributions

Any contribution that you make to this repository will be under the Apache 2 License, as dictated by that

File truncated at 100 lines see the full file

# Contributing to rmw_int2dds_cpp Thank you for your interest in contributing! This package is the ROS 2 RMW binding for int2DDS. For contributions to the underlying DDS core, see the [int2DDS](https://github.com/IntellectusCorp/int2DDS) repository. ## Code of Conduct This project adheres to a [Code of Conduct](CODE_OF_CONDUCT.md). ## Contributor License Agreement (CLA) By submitting a pull request you agree to the project CLA ([individual](CLA-Individual.md) / [corporate](CLA-Corporate.md)). ## Development Environment ### Prerequisites - A supported **ROS 2** distribution (Humble or Jazzy) installed and sourced - **colcon** build tool - A C++17 compiler (GCC/Clang/MSVC), CMake >= 3.14.4 - The **int2DDS** core library available as a dependency ### Workspace setup ```bash mkdir -p ~/ros2_ws/src && cd ~/ros2_ws/src git clone https://github.com/IntellectusCorp/rmw_int2dds.git cd ~/ros2_ws rosdep install --from-paths src --ignore-src -r -y ``` ## Building and Testing ```bash # Build colcon build --packages-up-to rmw_int2dds_cpp # Run this package's tests colcon test --packages-select rmw_int2dds_cpp colcon test-result --verbose # Run the RMW interface conformance suite against int2DDS RMW_IMPLEMENTATION=rmw_int2dds_cpp \ colcon test --packages-select test_rmw_implementation ``` > Tier 3 listing requires the full `test_rmw_implementation` suite to pass. ## Code Style This package follows the ROS 2 [Code Style and Language Versions](https://docs.ros.org/en/jazzy/The-ROS2-Project/Contributing/Code-Style-Language-Versions.html) guide: - C++17, max line length 100, `.hpp`/`.cpp` extensions - Linters run as tests via `ament_lint_auto` + `ament_lint_common` (`ament_clang_format`, `ament_cpplint`, `ament_uncrustify`, `ament_cppcheck`) - Build with `-Wall -Wextra -Wpedantic` ```bash # Run linters colcon test --packages-select rmw_int2dds_cpp --ctest-args -R lint ``` ## Commit Messages Use the format `TYPE: short description` (max 72 chars), imperative mood. Types: `FEAT`, `FIX`, `DOCS`, `STYLE`, `REFACTOR`, `TEST`, `CHORE`, `PERF`. Reference issues with `Fixes #123`. ## Branch Naming `feature/`, `fix/`, `hotfix/`, `docs/`, `refactor/`, `test/` prefixes; lowercase with hyphens (e.g., `feature/qos-deadline`). ## Pull Request Process 1. Rebase on the latest `upstream/main`. 2. Ensure `colcon build` and `colcon test` pass, including linters. 3. Update documentation and `CHANGELOG.rst` if behavior or APIs changed. 4. Open a PR with a clear summary, rationale, and testing notes. 5. Request review from maintainers. ## Reporting Bugs Open a GitHub issue with: description, reproduction steps, expected vs actual behavior, environment (OS, ROS 2 distro, int2DDS version), and logs. For security issues, follow [SECURITY.md](SECURITY.md) instead. ## License By contributing, you agree your contributions are licensed under the [Apache License 2.0](LICENSE). ## License of contributions Any contribution that you make to this repository will be under the Apache 2 License, as dictated by that File truncated at 100 lines [see the full file](https://github.com/IntellectusCorp/rmw_int2dds/tree/humble/CONTRIBUTING.md)
No version for distro lyrical showing humble. Known supported distros are highlighted in the buttons above.
Repo symbol

rmw_int2dds repository

rmw_int2dds_cpp

ROS Distro
humble

Repository Summary

Checkout URI https://github.com/IntellectusCorp/rmw_int2dds.git
VCS Type git
VCS Version humble
Last Updated 2026-07-15
Dev Status DEVELOPED
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Packages

Name Version
rmw_int2dds_cpp 0.1.0

README

ROS 2 RMW for int2DDS

A **ROS 2 RMW implementation** that binds the **int2DDS** DDS/RTPS middleware to the ROS 2 middleware (RMW) interface.

Overview

rmw_int2dds_cpp lets ROS 2 applications run on top of int2DDS, a Rust implementation of the OMG DDS standard (RTPS 2.5). It implements the ROS 2 rmw C interface so that any ROS 2 stack (rclcpp, rclpy, ros2 CLI, tools) can use int2DDS as its middleware via RMW_IMPLEMENTATION=rmw_int2dds_cpp.

Status: work in progress — APIs and test results are being stabilized ahead of a request for Tier 3 status in REP 2000.

Supported ROS 2 distributions

Distribution Status
Humble Hawksbill (LTS) Supported (verified)
Jazzy Jalisco (LTS) Supported (verified)
Lyrical Luth (LTS) Supported (verified)

Supported platforms

Platform Architectures Status
Ubuntu (Linux) amd64 Supported (verified)
Ubuntu (Linux) arm64 Target (library builds; board validation pending)

Quick Start

# 1) Get the sources into your ROS 2 workspace
mkdir -p ~/ros2_ws/src && cd ~/ros2_ws/src
git clone -b humble https://github.com/IntellectusCorp/rmw_int2dds.git
git clone https://github.com/IntellectusCorp/int2dds_ffi_vendor.git

# 2) Build
cd ~/ros2_ws
source /opt/ros/humble/setup.bash
colcon build --packages-up-to rmw_int2dds_cpp
source install/setup.bash

# 3) Select int2DDS as the middleware
export RMW_IMPLEMENTATION=rmw_int2dds_cpp

# 4) Run any ROS 2 demo
ros2 run demo_nodes_cpp talker
# in another terminal (same RMW_IMPLEMENTATION):
ros2 run demo_nodes_cpp listener

Binary install (.deb)

Prebuilt packages let you skip colcon build. Download the two .debs for your distro + architecture from the Releases page, then:

sudo apt install ./ros-humble-int2dds-ffi-vendor_*_amd64.deb \
                 ./ros-humble-rmw-int2dds-cpp_*_amd64.deb
source /opt/ros/humble/setup.bash
export RMW_IMPLEMENTATION=rmw_int2dds_cpp
ros2 run demo_nodes_cpp talker

apt install ./file.deb installs the file and resolves its dependencies (the rmw package pulls in the vendor package automatically). The RMW library and its ament-index marker install into /opt/ros/humble/, so once the environment is sourced only RMW_IMPLEMENTATION needs to be set.

Supported: jazzy / humble / rolling × amd64 / arm64. armhf is best-effort — there are no official ROS 2 armhf apt packages, so an armhf .deb only works on a system where ROS 2 was itself built from source for armhf.

To build the packages yourself: packaging/build-deb.sh <distro> <arch> (needs Docker; see packaging/ for the build and verification scripts).

Middleware library dependency

This package links against the closed-source int2DDS FFI library (libint2dds_ffi.so* and int2dds-ffi.h), which is provided by the int2dds_ffi_vendor package. The vendor package downloads the release artifact, verifies the selected library against the manifest, and exports the int2dds_ffi::int2dds_ffi CMake target used by this RMW package.

Test status

All results below were produced by running the listed suites directly; see doc/ for methodology. Same-vendor and cross-vendor integration tests use the official ROS 2 repositories (rmw_implementation, system_tests).

| Suite | Lyrical | Jazzy | Humble | |—|—|—|—|

File truncated at 100 lines see the full file

CONTRIBUTING

Contributing to rmw_int2dds_cpp

Thank you for your interest in contributing! This package is the ROS 2 RMW binding for int2DDS. For contributions to the underlying DDS core, see the int2DDS repository.

Code of Conduct

This project adheres to a Code of Conduct.

Contributor License Agreement (CLA)

By submitting a pull request you agree to the project CLA (individual / corporate).

Development Environment

Prerequisites

  • A supported ROS 2 distribution (Humble or Jazzy) installed and sourced
  • colcon build tool
  • A C++17 compiler (GCC/Clang/MSVC), CMake >= 3.14.4
  • The int2DDS core library available as a dependency

Workspace setup

mkdir -p ~/ros2_ws/src && cd ~/ros2_ws/src
git clone https://github.com/IntellectusCorp/rmw_int2dds.git
cd ~/ros2_ws
rosdep install --from-paths src --ignore-src -r -y

Building and Testing

# Build
colcon build --packages-up-to rmw_int2dds_cpp

# Run this package's tests
colcon test --packages-select rmw_int2dds_cpp
colcon test-result --verbose

# Run the RMW interface conformance suite against int2DDS
RMW_IMPLEMENTATION=rmw_int2dds_cpp \
  colcon test --packages-select test_rmw_implementation

Tier 3 listing requires the full test_rmw_implementation suite to pass.

Code Style

This package follows the ROS 2 Code Style and Language Versions guide:

  • C++17, max line length 100, .hpp/.cpp extensions
  • Linters run as tests via ament_lint_auto + ament_lint_common (ament_clang_format, ament_cpplint, ament_uncrustify, ament_cppcheck)
  • Build with -Wall -Wextra -Wpedantic
# Run linters
colcon test --packages-select rmw_int2dds_cpp --ctest-args -R lint

Commit Messages

Use the format TYPE: short description (max 72 chars), imperative mood. Types: FEAT, FIX, DOCS, STYLE, REFACTOR, TEST, CHORE, PERF. Reference issues with Fixes #123.

Branch Naming

feature/, fix/, hotfix/, docs/, refactor/, test/ prefixes; lowercase with hyphens (e.g., feature/qos-deadline).

Pull Request Process

  1. Rebase on the latest upstream/main.
  2. Ensure colcon build and colcon test pass, including linters.
  3. Update documentation and CHANGELOG.rst if behavior or APIs changed.
  4. Open a PR with a clear summary, rationale, and testing notes.
  5. Request review from maintainers.

Reporting Bugs

Open a GitHub issue with: description, reproduction steps, expected vs actual behavior, environment (OS, ROS 2 distro, int2DDS version), and logs. For security issues, follow SECURITY.md instead.

License

By contributing, you agree your contributions are licensed under the Apache License 2.0.

License of contributions

Any contribution that you make to this repository will be under the Apache 2 License, as dictated by that

File truncated at 100 lines see the full file

# Contributing to rmw_int2dds_cpp Thank you for your interest in contributing! This package is the ROS 2 RMW binding for int2DDS. For contributions to the underlying DDS core, see the [int2DDS](https://github.com/IntellectusCorp/int2DDS) repository. ## Code of Conduct This project adheres to a [Code of Conduct](CODE_OF_CONDUCT.md). ## Contributor License Agreement (CLA) By submitting a pull request you agree to the project CLA ([individual](CLA-Individual.md) / [corporate](CLA-Corporate.md)). ## Development Environment ### Prerequisites - A supported **ROS 2** distribution (Humble or Jazzy) installed and sourced - **colcon** build tool - A C++17 compiler (GCC/Clang/MSVC), CMake >= 3.14.4 - The **int2DDS** core library available as a dependency ### Workspace setup ```bash mkdir -p ~/ros2_ws/src && cd ~/ros2_ws/src git clone https://github.com/IntellectusCorp/rmw_int2dds.git cd ~/ros2_ws rosdep install --from-paths src --ignore-src -r -y ``` ## Building and Testing ```bash # Build colcon build --packages-up-to rmw_int2dds_cpp # Run this package's tests colcon test --packages-select rmw_int2dds_cpp colcon test-result --verbose # Run the RMW interface conformance suite against int2DDS RMW_IMPLEMENTATION=rmw_int2dds_cpp \ colcon test --packages-select test_rmw_implementation ``` > Tier 3 listing requires the full `test_rmw_implementation` suite to pass. ## Code Style This package follows the ROS 2 [Code Style and Language Versions](https://docs.ros.org/en/jazzy/The-ROS2-Project/Contributing/Code-Style-Language-Versions.html) guide: - C++17, max line length 100, `.hpp`/`.cpp` extensions - Linters run as tests via `ament_lint_auto` + `ament_lint_common` (`ament_clang_format`, `ament_cpplint`, `ament_uncrustify`, `ament_cppcheck`) - Build with `-Wall -Wextra -Wpedantic` ```bash # Run linters colcon test --packages-select rmw_int2dds_cpp --ctest-args -R lint ``` ## Commit Messages Use the format `TYPE: short description` (max 72 chars), imperative mood. Types: `FEAT`, `FIX`, `DOCS`, `STYLE`, `REFACTOR`, `TEST`, `CHORE`, `PERF`. Reference issues with `Fixes #123`. ## Branch Naming `feature/`, `fix/`, `hotfix/`, `docs/`, `refactor/`, `test/` prefixes; lowercase with hyphens (e.g., `feature/qos-deadline`). ## Pull Request Process 1. Rebase on the latest `upstream/main`. 2. Ensure `colcon build` and `colcon test` pass, including linters. 3. Update documentation and `CHANGELOG.rst` if behavior or APIs changed. 4. Open a PR with a clear summary, rationale, and testing notes. 5. Request review from maintainers. ## Reporting Bugs Open a GitHub issue with: description, reproduction steps, expected vs actual behavior, environment (OS, ROS 2 distro, int2DDS version), and logs. For security issues, follow [SECURITY.md](SECURITY.md) instead. ## License By contributing, you agree your contributions are licensed under the [Apache License 2.0](LICENSE). ## License of contributions Any contribution that you make to this repository will be under the Apache 2 License, as dictated by that File truncated at 100 lines [see the full file](https://github.com/IntellectusCorp/rmw_int2dds/tree/humble/CONTRIBUTING.md)
Repo symbol

rmw_int2dds repository

rmw_int2dds_cpp

ROS Distro
rolling

Repository Summary

Checkout URI https://github.com/IntellectusCorp/rmw_int2dds.git
VCS Type git
VCS Version rolling
Last Updated 2026-07-15
Dev Status DEVELOPED
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Packages

Name Version
rmw_int2dds_cpp 0.1.0

README

ROS 2 RMW for int2DDS

A **ROS 2 RMW implementation** that binds the **int2DDS** DDS/RTPS middleware to the ROS 2 middleware (RMW) interface.

Overview

rmw_int2dds_cpp lets ROS 2 applications run on top of int2DDS, a Rust implementation of the OMG DDS standard (RTPS 2.5). It implements the ROS 2 rmw C interface so that any ROS 2 stack (rclcpp, rclpy, ros2 CLI, tools) can use int2DDS as its middleware via RMW_IMPLEMENTATION=rmw_int2dds_cpp.

Status: work in progress — APIs and test results are being stabilized ahead of a request for Tier 3 status in REP 2000.

Supported ROS 2 distributions

Distribution Status
Humble Hawksbill (LTS) Supported (verified)
Jazzy Jalisco (LTS) Supported (verified)

Supported platforms

Platform Architectures Status
Ubuntu (Linux) amd64 Supported (verified)
Ubuntu (Linux) arm64 Target (library builds; board validation pending)

Quick Start

# 1) Get the sources into your ROS 2 workspace
mkdir -p ~/ros2_ws/src && cd ~/ros2_ws/src
git clone -b rolling https://github.com/IntellectusCorp/rmw_int2dds.git
git clone https://github.com/IntellectusCorp/int2dds_ffi_vendor.git

# 2) Build
cd ~/ros2_ws
source /opt/ros/rolling/setup.bash
colcon build --packages-up-to rmw_int2dds_cpp
source install/setup.bash

# 3) Select int2DDS as the middleware
export RMW_IMPLEMENTATION=rmw_int2dds_cpp

# 4) Run any ROS 2 demo
ros2 run demo_nodes_cpp talker
# in another terminal (same RMW_IMPLEMENTATION):
ros2 run demo_nodes_cpp listener

Binary install (.deb)

Prebuilt packages let you skip colcon build. Download the two .debs for your distro + architecture from the Releases page, then:

sudo apt install ./ros-rolling-int2dds-ffi-vendor_*_amd64.deb \
                 ./ros-rolling-rmw-int2dds-cpp_*_amd64.deb
source /opt/ros/rolling/setup.bash
export RMW_IMPLEMENTATION=rmw_int2dds_cpp
ros2 run demo_nodes_cpp talker

apt install ./file.deb installs the file and resolves its dependencies (the rmw package pulls in the vendor package automatically). The RMW library and its ament-index marker install into /opt/ros/rolling/, so once the environment is sourced only RMW_IMPLEMENTATION needs to be set.

Supported: jazzy / humble / rolling × amd64 / arm64. armhf is best-effort — there are no official ROS 2 armhf apt packages, so an armhf .deb only works on a system where ROS 2 was itself built from source for armhf.

To build the packages yourself: packaging/build-deb.sh <distro> <arch> (needs Docker; see packaging/ for the build and verification scripts).

Middleware library dependency

This package links against the closed-source int2DDS FFI library (libint2dds_ffi.so* and int2dds-ffi.h), which is provided by the int2dds_ffi_vendor package. The vendor package downloads the release artifact, verifies the selected library against the manifest, and exports the int2dds_ffi::int2dds_ffi CMake target used by this RMW package.

Test status

All results below were produced by running the listed suites directly; see doc/ for methodology. Same-vendor and cross-vendor integration tests use the official ROS 2 repositories (rmw_implementation, system_tests).

Suite Jazzy Humble
test_rmw_implementation (RMW conformance gate) 16/16 15/15 (full set; test_event exists on Jazzy only)

File truncated at 100 lines see the full file

CONTRIBUTING

Contributing to rmw_int2dds_cpp

Thank you for your interest in contributing! This package is the ROS 2 RMW binding for int2DDS. For contributions to the underlying DDS core, see the int2DDS repository.

Code of Conduct

This project adheres to a Code of Conduct.

Contributor License Agreement (CLA)

By submitting a pull request you agree to the project CLA (individual / corporate).

Development Environment

Prerequisites

  • A supported ROS 2 distribution (Humble or Jazzy) installed and sourced
  • colcon build tool
  • A C++17 compiler (GCC/Clang/MSVC), CMake >= 3.14.4
  • The int2DDS core library available as a dependency

Workspace setup

mkdir -p ~/ros2_ws/src && cd ~/ros2_ws/src
git clone https://github.com/IntellectusCorp/rmw_int2dds.git
cd ~/ros2_ws
rosdep install --from-paths src --ignore-src -r -y

Building and Testing

# Build
colcon build --packages-up-to rmw_int2dds_cpp

# Run this package's tests
colcon test --packages-select rmw_int2dds_cpp
colcon test-result --verbose

# Run the RMW interface conformance suite against int2DDS
RMW_IMPLEMENTATION=rmw_int2dds_cpp \
  colcon test --packages-select test_rmw_implementation

Tier 3 listing requires the full test_rmw_implementation suite to pass.

Code Style

This package follows the ROS 2 Code Style and Language Versions guide:

  • C++17, max line length 100, .hpp/.cpp extensions
  • Linters run as tests via ament_lint_auto + ament_lint_common (ament_clang_format, ament_cpplint, ament_uncrustify, ament_cppcheck)
  • Build with -Wall -Wextra -Wpedantic
# Run linters
colcon test --packages-select rmw_int2dds_cpp --ctest-args -R lint

Commit Messages

Use the format TYPE: short description (max 72 chars), imperative mood. Types: FEAT, FIX, DOCS, STYLE, REFACTOR, TEST, CHORE, PERF. Reference issues with Fixes #123.

Branch Naming

feature/, fix/, hotfix/, docs/, refactor/, test/ prefixes; lowercase with hyphens (e.g., feature/qos-deadline).

Pull Request Process

  1. Rebase on the latest upstream/main.
  2. Ensure colcon build and colcon test pass, including linters.
  3. Update documentation and CHANGELOG.rst if behavior or APIs changed.
  4. Open a PR with a clear summary, rationale, and testing notes.
  5. Request review from maintainers.

Reporting Bugs

Open a GitHub issue with: description, reproduction steps, expected vs actual behavior, environment (OS, ROS 2 distro, int2DDS version), and logs. For security issues, follow SECURITY.md instead.

License

By contributing, you agree your contributions are licensed under the Apache License 2.0.

License of contributions

Any contribution that you make to this repository will be under the Apache 2 License, as dictated by that

File truncated at 100 lines see the full file

# Contributing to rmw_int2dds_cpp Thank you for your interest in contributing! This package is the ROS 2 RMW binding for int2DDS. For contributions to the underlying DDS core, see the [int2DDS](https://github.com/IntellectusCorp/int2DDS) repository. ## Code of Conduct This project adheres to a [Code of Conduct](CODE_OF_CONDUCT.md). ## Contributor License Agreement (CLA) By submitting a pull request you agree to the project CLA ([individual](CLA-Individual.md) / [corporate](CLA-Corporate.md)). ## Development Environment ### Prerequisites - A supported **ROS 2** distribution (Humble or Jazzy) installed and sourced - **colcon** build tool - A C++17 compiler (GCC/Clang/MSVC), CMake >= 3.14.4 - The **int2DDS** core library available as a dependency ### Workspace setup ```bash mkdir -p ~/ros2_ws/src && cd ~/ros2_ws/src git clone https://github.com/IntellectusCorp/rmw_int2dds.git cd ~/ros2_ws rosdep install --from-paths src --ignore-src -r -y ``` ## Building and Testing ```bash # Build colcon build --packages-up-to rmw_int2dds_cpp # Run this package's tests colcon test --packages-select rmw_int2dds_cpp colcon test-result --verbose # Run the RMW interface conformance suite against int2DDS RMW_IMPLEMENTATION=rmw_int2dds_cpp \ colcon test --packages-select test_rmw_implementation ``` > Tier 3 listing requires the full `test_rmw_implementation` suite to pass. ## Code Style This package follows the ROS 2 [Code Style and Language Versions](https://docs.ros.org/en/jazzy/The-ROS2-Project/Contributing/Code-Style-Language-Versions.html) guide: - C++17, max line length 100, `.hpp`/`.cpp` extensions - Linters run as tests via `ament_lint_auto` + `ament_lint_common` (`ament_clang_format`, `ament_cpplint`, `ament_uncrustify`, `ament_cppcheck`) - Build with `-Wall -Wextra -Wpedantic` ```bash # Run linters colcon test --packages-select rmw_int2dds_cpp --ctest-args -R lint ``` ## Commit Messages Use the format `TYPE: short description` (max 72 chars), imperative mood. Types: `FEAT`, `FIX`, `DOCS`, `STYLE`, `REFACTOR`, `TEST`, `CHORE`, `PERF`. Reference issues with `Fixes #123`. ## Branch Naming `feature/`, `fix/`, `hotfix/`, `docs/`, `refactor/`, `test/` prefixes; lowercase with hyphens (e.g., `feature/qos-deadline`). ## Pull Request Process 1. Rebase on the latest `upstream/main`. 2. Ensure `colcon build` and `colcon test` pass, including linters. 3. Update documentation and `CHANGELOG.rst` if behavior or APIs changed. 4. Open a PR with a clear summary, rationale, and testing notes. 5. Request review from maintainers. ## Reporting Bugs Open a GitHub issue with: description, reproduction steps, expected vs actual behavior, environment (OS, ROS 2 distro, int2DDS version), and logs. For security issues, follow [SECURITY.md](SECURITY.md) instead. ## License By contributing, you agree your contributions are licensed under the [Apache License 2.0](LICENSE). ## License of contributions Any contribution that you make to this repository will be under the Apache 2 License, as dictated by that File truncated at 100 lines [see the full file](https://github.com/IntellectusCorp/rmw_int2dds/tree/rolling/CONTRIBUTING.md)
No version for distro ardent showing humble. Known supported distros are highlighted in the buttons above.
Repo symbol

rmw_int2dds repository

rmw_int2dds_cpp

ROS Distro
humble

Repository Summary

Checkout URI https://github.com/IntellectusCorp/rmw_int2dds.git
VCS Type git
VCS Version humble
Last Updated 2026-07-15
Dev Status DEVELOPED
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Packages

Name Version
rmw_int2dds_cpp 0.1.0

README

ROS 2 RMW for int2DDS

A **ROS 2 RMW implementation** that binds the **int2DDS** DDS/RTPS middleware to the ROS 2 middleware (RMW) interface.

Overview

rmw_int2dds_cpp lets ROS 2 applications run on top of int2DDS, a Rust implementation of the OMG DDS standard (RTPS 2.5). It implements the ROS 2 rmw C interface so that any ROS 2 stack (rclcpp, rclpy, ros2 CLI, tools) can use int2DDS as its middleware via RMW_IMPLEMENTATION=rmw_int2dds_cpp.

Status: work in progress — APIs and test results are being stabilized ahead of a request for Tier 3 status in REP 2000.

Supported ROS 2 distributions

Distribution Status
Humble Hawksbill (LTS) Supported (verified)
Jazzy Jalisco (LTS) Supported (verified)
Lyrical Luth (LTS) Supported (verified)

Supported platforms

Platform Architectures Status
Ubuntu (Linux) amd64 Supported (verified)
Ubuntu (Linux) arm64 Target (library builds; board validation pending)

Quick Start

# 1) Get the sources into your ROS 2 workspace
mkdir -p ~/ros2_ws/src && cd ~/ros2_ws/src
git clone -b humble https://github.com/IntellectusCorp/rmw_int2dds.git
git clone https://github.com/IntellectusCorp/int2dds_ffi_vendor.git

# 2) Build
cd ~/ros2_ws
source /opt/ros/humble/setup.bash
colcon build --packages-up-to rmw_int2dds_cpp
source install/setup.bash

# 3) Select int2DDS as the middleware
export RMW_IMPLEMENTATION=rmw_int2dds_cpp

# 4) Run any ROS 2 demo
ros2 run demo_nodes_cpp talker
# in another terminal (same RMW_IMPLEMENTATION):
ros2 run demo_nodes_cpp listener

Binary install (.deb)

Prebuilt packages let you skip colcon build. Download the two .debs for your distro + architecture from the Releases page, then:

sudo apt install ./ros-humble-int2dds-ffi-vendor_*_amd64.deb \
                 ./ros-humble-rmw-int2dds-cpp_*_amd64.deb
source /opt/ros/humble/setup.bash
export RMW_IMPLEMENTATION=rmw_int2dds_cpp
ros2 run demo_nodes_cpp talker

apt install ./file.deb installs the file and resolves its dependencies (the rmw package pulls in the vendor package automatically). The RMW library and its ament-index marker install into /opt/ros/humble/, so once the environment is sourced only RMW_IMPLEMENTATION needs to be set.

Supported: jazzy / humble / rolling × amd64 / arm64. armhf is best-effort — there are no official ROS 2 armhf apt packages, so an armhf .deb only works on a system where ROS 2 was itself built from source for armhf.

To build the packages yourself: packaging/build-deb.sh <distro> <arch> (needs Docker; see packaging/ for the build and verification scripts).

Middleware library dependency

This package links against the closed-source int2DDS FFI library (libint2dds_ffi.so* and int2dds-ffi.h), which is provided by the int2dds_ffi_vendor package. The vendor package downloads the release artifact, verifies the selected library against the manifest, and exports the int2dds_ffi::int2dds_ffi CMake target used by this RMW package.

Test status

All results below were produced by running the listed suites directly; see doc/ for methodology. Same-vendor and cross-vendor integration tests use the official ROS 2 repositories (rmw_implementation, system_tests).

| Suite | Lyrical | Jazzy | Humble | |—|—|—|—|

File truncated at 100 lines see the full file

CONTRIBUTING

Contributing to rmw_int2dds_cpp

Thank you for your interest in contributing! This package is the ROS 2 RMW binding for int2DDS. For contributions to the underlying DDS core, see the int2DDS repository.

Code of Conduct

This project adheres to a Code of Conduct.

Contributor License Agreement (CLA)

By submitting a pull request you agree to the project CLA (individual / corporate).

Development Environment

Prerequisites

  • A supported ROS 2 distribution (Humble or Jazzy) installed and sourced
  • colcon build tool
  • A C++17 compiler (GCC/Clang/MSVC), CMake >= 3.14.4
  • The int2DDS core library available as a dependency

Workspace setup

mkdir -p ~/ros2_ws/src && cd ~/ros2_ws/src
git clone https://github.com/IntellectusCorp/rmw_int2dds.git
cd ~/ros2_ws
rosdep install --from-paths src --ignore-src -r -y

Building and Testing

# Build
colcon build --packages-up-to rmw_int2dds_cpp

# Run this package's tests
colcon test --packages-select rmw_int2dds_cpp
colcon test-result --verbose

# Run the RMW interface conformance suite against int2DDS
RMW_IMPLEMENTATION=rmw_int2dds_cpp \
  colcon test --packages-select test_rmw_implementation

Tier 3 listing requires the full test_rmw_implementation suite to pass.

Code Style

This package follows the ROS 2 Code Style and Language Versions guide:

  • C++17, max line length 100, .hpp/.cpp extensions
  • Linters run as tests via ament_lint_auto + ament_lint_common (ament_clang_format, ament_cpplint, ament_uncrustify, ament_cppcheck)
  • Build with -Wall -Wextra -Wpedantic
# Run linters
colcon test --packages-select rmw_int2dds_cpp --ctest-args -R lint

Commit Messages

Use the format TYPE: short description (max 72 chars), imperative mood. Types: FEAT, FIX, DOCS, STYLE, REFACTOR, TEST, CHORE, PERF. Reference issues with Fixes #123.

Branch Naming

feature/, fix/, hotfix/, docs/, refactor/, test/ prefixes; lowercase with hyphens (e.g., feature/qos-deadline).

Pull Request Process

  1. Rebase on the latest upstream/main.
  2. Ensure colcon build and colcon test pass, including linters.
  3. Update documentation and CHANGELOG.rst if behavior or APIs changed.
  4. Open a PR with a clear summary, rationale, and testing notes.
  5. Request review from maintainers.

Reporting Bugs

Open a GitHub issue with: description, reproduction steps, expected vs actual behavior, environment (OS, ROS 2 distro, int2DDS version), and logs. For security issues, follow SECURITY.md instead.

License

By contributing, you agree your contributions are licensed under the Apache License 2.0.

License of contributions

Any contribution that you make to this repository will be under the Apache 2 License, as dictated by that

File truncated at 100 lines see the full file

# Contributing to rmw_int2dds_cpp Thank you for your interest in contributing! This package is the ROS 2 RMW binding for int2DDS. For contributions to the underlying DDS core, see the [int2DDS](https://github.com/IntellectusCorp/int2DDS) repository. ## Code of Conduct This project adheres to a [Code of Conduct](CODE_OF_CONDUCT.md). ## Contributor License Agreement (CLA) By submitting a pull request you agree to the project CLA ([individual](CLA-Individual.md) / [corporate](CLA-Corporate.md)). ## Development Environment ### Prerequisites - A supported **ROS 2** distribution (Humble or Jazzy) installed and sourced - **colcon** build tool - A C++17 compiler (GCC/Clang/MSVC), CMake >= 3.14.4 - The **int2DDS** core library available as a dependency ### Workspace setup ```bash mkdir -p ~/ros2_ws/src && cd ~/ros2_ws/src git clone https://github.com/IntellectusCorp/rmw_int2dds.git cd ~/ros2_ws rosdep install --from-paths src --ignore-src -r -y ``` ## Building and Testing ```bash # Build colcon build --packages-up-to rmw_int2dds_cpp # Run this package's tests colcon test --packages-select rmw_int2dds_cpp colcon test-result --verbose # Run the RMW interface conformance suite against int2DDS RMW_IMPLEMENTATION=rmw_int2dds_cpp \ colcon test --packages-select test_rmw_implementation ``` > Tier 3 listing requires the full `test_rmw_implementation` suite to pass. ## Code Style This package follows the ROS 2 [Code Style and Language Versions](https://docs.ros.org/en/jazzy/The-ROS2-Project/Contributing/Code-Style-Language-Versions.html) guide: - C++17, max line length 100, `.hpp`/`.cpp` extensions - Linters run as tests via `ament_lint_auto` + `ament_lint_common` (`ament_clang_format`, `ament_cpplint`, `ament_uncrustify`, `ament_cppcheck`) - Build with `-Wall -Wextra -Wpedantic` ```bash # Run linters colcon test --packages-select rmw_int2dds_cpp --ctest-args -R lint ``` ## Commit Messages Use the format `TYPE: short description` (max 72 chars), imperative mood. Types: `FEAT`, `FIX`, `DOCS`, `STYLE`, `REFACTOR`, `TEST`, `CHORE`, `PERF`. Reference issues with `Fixes #123`. ## Branch Naming `feature/`, `fix/`, `hotfix/`, `docs/`, `refactor/`, `test/` prefixes; lowercase with hyphens (e.g., `feature/qos-deadline`). ## Pull Request Process 1. Rebase on the latest `upstream/main`. 2. Ensure `colcon build` and `colcon test` pass, including linters. 3. Update documentation and `CHANGELOG.rst` if behavior or APIs changed. 4. Open a PR with a clear summary, rationale, and testing notes. 5. Request review from maintainers. ## Reporting Bugs Open a GitHub issue with: description, reproduction steps, expected vs actual behavior, environment (OS, ROS 2 distro, int2DDS version), and logs. For security issues, follow [SECURITY.md](SECURITY.md) instead. ## License By contributing, you agree your contributions are licensed under the [Apache License 2.0](LICENSE). ## License of contributions Any contribution that you make to this repository will be under the Apache 2 License, as dictated by that File truncated at 100 lines [see the full file](https://github.com/IntellectusCorp/rmw_int2dds/tree/humble/CONTRIBUTING.md)
No version for distro bouncy showing humble. Known supported distros are highlighted in the buttons above.
Repo symbol

rmw_int2dds repository

rmw_int2dds_cpp

ROS Distro
humble

Repository Summary

Checkout URI https://github.com/IntellectusCorp/rmw_int2dds.git
VCS Type git
VCS Version humble
Last Updated 2026-07-15
Dev Status DEVELOPED
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Packages

Name Version
rmw_int2dds_cpp 0.1.0

README

ROS 2 RMW for int2DDS

A **ROS 2 RMW implementation** that binds the **int2DDS** DDS/RTPS middleware to the ROS 2 middleware (RMW) interface.

Overview

rmw_int2dds_cpp lets ROS 2 applications run on top of int2DDS, a Rust implementation of the OMG DDS standard (RTPS 2.5). It implements the ROS 2 rmw C interface so that any ROS 2 stack (rclcpp, rclpy, ros2 CLI, tools) can use int2DDS as its middleware via RMW_IMPLEMENTATION=rmw_int2dds_cpp.

Status: work in progress — APIs and test results are being stabilized ahead of a request for Tier 3 status in REP 2000.

Supported ROS 2 distributions

Distribution Status
Humble Hawksbill (LTS) Supported (verified)
Jazzy Jalisco (LTS) Supported (verified)
Lyrical Luth (LTS) Supported (verified)

Supported platforms

Platform Architectures Status
Ubuntu (Linux) amd64 Supported (verified)
Ubuntu (Linux) arm64 Target (library builds; board validation pending)

Quick Start

# 1) Get the sources into your ROS 2 workspace
mkdir -p ~/ros2_ws/src && cd ~/ros2_ws/src
git clone -b humble https://github.com/IntellectusCorp/rmw_int2dds.git
git clone https://github.com/IntellectusCorp/int2dds_ffi_vendor.git

# 2) Build
cd ~/ros2_ws
source /opt/ros/humble/setup.bash
colcon build --packages-up-to rmw_int2dds_cpp
source install/setup.bash

# 3) Select int2DDS as the middleware
export RMW_IMPLEMENTATION=rmw_int2dds_cpp

# 4) Run any ROS 2 demo
ros2 run demo_nodes_cpp talker
# in another terminal (same RMW_IMPLEMENTATION):
ros2 run demo_nodes_cpp listener

Binary install (.deb)

Prebuilt packages let you skip colcon build. Download the two .debs for your distro + architecture from the Releases page, then:

sudo apt install ./ros-humble-int2dds-ffi-vendor_*_amd64.deb \
                 ./ros-humble-rmw-int2dds-cpp_*_amd64.deb
source /opt/ros/humble/setup.bash
export RMW_IMPLEMENTATION=rmw_int2dds_cpp
ros2 run demo_nodes_cpp talker

apt install ./file.deb installs the file and resolves its dependencies (the rmw package pulls in the vendor package automatically). The RMW library and its ament-index marker install into /opt/ros/humble/, so once the environment is sourced only RMW_IMPLEMENTATION needs to be set.

Supported: jazzy / humble / rolling × amd64 / arm64. armhf is best-effort — there are no official ROS 2 armhf apt packages, so an armhf .deb only works on a system where ROS 2 was itself built from source for armhf.

To build the packages yourself: packaging/build-deb.sh <distro> <arch> (needs Docker; see packaging/ for the build and verification scripts).

Middleware library dependency

This package links against the closed-source int2DDS FFI library (libint2dds_ffi.so* and int2dds-ffi.h), which is provided by the int2dds_ffi_vendor package. The vendor package downloads the release artifact, verifies the selected library against the manifest, and exports the int2dds_ffi::int2dds_ffi CMake target used by this RMW package.

Test status

All results below were produced by running the listed suites directly; see doc/ for methodology. Same-vendor and cross-vendor integration tests use the official ROS 2 repositories (rmw_implementation, system_tests).

| Suite | Lyrical | Jazzy | Humble | |—|—|—|—|

File truncated at 100 lines see the full file

CONTRIBUTING

Contributing to rmw_int2dds_cpp

Thank you for your interest in contributing! This package is the ROS 2 RMW binding for int2DDS. For contributions to the underlying DDS core, see the int2DDS repository.

Code of Conduct

This project adheres to a Code of Conduct.

Contributor License Agreement (CLA)

By submitting a pull request you agree to the project CLA (individual / corporate).

Development Environment

Prerequisites

  • A supported ROS 2 distribution (Humble or Jazzy) installed and sourced
  • colcon build tool
  • A C++17 compiler (GCC/Clang/MSVC), CMake >= 3.14.4
  • The int2DDS core library available as a dependency

Workspace setup

mkdir -p ~/ros2_ws/src && cd ~/ros2_ws/src
git clone https://github.com/IntellectusCorp/rmw_int2dds.git
cd ~/ros2_ws
rosdep install --from-paths src --ignore-src -r -y

Building and Testing

# Build
colcon build --packages-up-to rmw_int2dds_cpp

# Run this package's tests
colcon test --packages-select rmw_int2dds_cpp
colcon test-result --verbose

# Run the RMW interface conformance suite against int2DDS
RMW_IMPLEMENTATION=rmw_int2dds_cpp \
  colcon test --packages-select test_rmw_implementation

Tier 3 listing requires the full test_rmw_implementation suite to pass.

Code Style

This package follows the ROS 2 Code Style and Language Versions guide:

  • C++17, max line length 100, .hpp/.cpp extensions
  • Linters run as tests via ament_lint_auto + ament_lint_common (ament_clang_format, ament_cpplint, ament_uncrustify, ament_cppcheck)
  • Build with -Wall -Wextra -Wpedantic
# Run linters
colcon test --packages-select rmw_int2dds_cpp --ctest-args -R lint

Commit Messages

Use the format TYPE: short description (max 72 chars), imperative mood. Types: FEAT, FIX, DOCS, STYLE, REFACTOR, TEST, CHORE, PERF. Reference issues with Fixes #123.

Branch Naming

feature/, fix/, hotfix/, docs/, refactor/, test/ prefixes; lowercase with hyphens (e.g., feature/qos-deadline).

Pull Request Process

  1. Rebase on the latest upstream/main.
  2. Ensure colcon build and colcon test pass, including linters.
  3. Update documentation and CHANGELOG.rst if behavior or APIs changed.
  4. Open a PR with a clear summary, rationale, and testing notes.
  5. Request review from maintainers.

Reporting Bugs

Open a GitHub issue with: description, reproduction steps, expected vs actual behavior, environment (OS, ROS 2 distro, int2DDS version), and logs. For security issues, follow SECURITY.md instead.

License

By contributing, you agree your contributions are licensed under the Apache License 2.0.

License of contributions

Any contribution that you make to this repository will be under the Apache 2 License, as dictated by that

File truncated at 100 lines see the full file

# Contributing to rmw_int2dds_cpp Thank you for your interest in contributing! This package is the ROS 2 RMW binding for int2DDS. For contributions to the underlying DDS core, see the [int2DDS](https://github.com/IntellectusCorp/int2DDS) repository. ## Code of Conduct This project adheres to a [Code of Conduct](CODE_OF_CONDUCT.md). ## Contributor License Agreement (CLA) By submitting a pull request you agree to the project CLA ([individual](CLA-Individual.md) / [corporate](CLA-Corporate.md)). ## Development Environment ### Prerequisites - A supported **ROS 2** distribution (Humble or Jazzy) installed and sourced - **colcon** build tool - A C++17 compiler (GCC/Clang/MSVC), CMake >= 3.14.4 - The **int2DDS** core library available as a dependency ### Workspace setup ```bash mkdir -p ~/ros2_ws/src && cd ~/ros2_ws/src git clone https://github.com/IntellectusCorp/rmw_int2dds.git cd ~/ros2_ws rosdep install --from-paths src --ignore-src -r -y ``` ## Building and Testing ```bash # Build colcon build --packages-up-to rmw_int2dds_cpp # Run this package's tests colcon test --packages-select rmw_int2dds_cpp colcon test-result --verbose # Run the RMW interface conformance suite against int2DDS RMW_IMPLEMENTATION=rmw_int2dds_cpp \ colcon test --packages-select test_rmw_implementation ``` > Tier 3 listing requires the full `test_rmw_implementation` suite to pass. ## Code Style This package follows the ROS 2 [Code Style and Language Versions](https://docs.ros.org/en/jazzy/The-ROS2-Project/Contributing/Code-Style-Language-Versions.html) guide: - C++17, max line length 100, `.hpp`/`.cpp` extensions - Linters run as tests via `ament_lint_auto` + `ament_lint_common` (`ament_clang_format`, `ament_cpplint`, `ament_uncrustify`, `ament_cppcheck`) - Build with `-Wall -Wextra -Wpedantic` ```bash # Run linters colcon test --packages-select rmw_int2dds_cpp --ctest-args -R lint ``` ## Commit Messages Use the format `TYPE: short description` (max 72 chars), imperative mood. Types: `FEAT`, `FIX`, `DOCS`, `STYLE`, `REFACTOR`, `TEST`, `CHORE`, `PERF`. Reference issues with `Fixes #123`. ## Branch Naming `feature/`, `fix/`, `hotfix/`, `docs/`, `refactor/`, `test/` prefixes; lowercase with hyphens (e.g., `feature/qos-deadline`). ## Pull Request Process 1. Rebase on the latest `upstream/main`. 2. Ensure `colcon build` and `colcon test` pass, including linters. 3. Update documentation and `CHANGELOG.rst` if behavior or APIs changed. 4. Open a PR with a clear summary, rationale, and testing notes. 5. Request review from maintainers. ## Reporting Bugs Open a GitHub issue with: description, reproduction steps, expected vs actual behavior, environment (OS, ROS 2 distro, int2DDS version), and logs. For security issues, follow [SECURITY.md](SECURITY.md) instead. ## License By contributing, you agree your contributions are licensed under the [Apache License 2.0](LICENSE). ## License of contributions Any contribution that you make to this repository will be under the Apache 2 License, as dictated by that File truncated at 100 lines [see the full file](https://github.com/IntellectusCorp/rmw_int2dds/tree/humble/CONTRIBUTING.md)
No version for distro crystal showing humble. Known supported distros are highlighted in the buttons above.
Repo symbol

rmw_int2dds repository

rmw_int2dds_cpp

ROS Distro
humble

Repository Summary

Checkout URI https://github.com/IntellectusCorp/rmw_int2dds.git
VCS Type git
VCS Version humble
Last Updated 2026-07-15
Dev Status DEVELOPED
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Packages

Name Version
rmw_int2dds_cpp 0.1.0

README

ROS 2 RMW for int2DDS

A **ROS 2 RMW implementation** that binds the **int2DDS** DDS/RTPS middleware to the ROS 2 middleware (RMW) interface.

Overview

rmw_int2dds_cpp lets ROS 2 applications run on top of int2DDS, a Rust implementation of the OMG DDS standard (RTPS 2.5). It implements the ROS 2 rmw C interface so that any ROS 2 stack (rclcpp, rclpy, ros2 CLI, tools) can use int2DDS as its middleware via RMW_IMPLEMENTATION=rmw_int2dds_cpp.

Status: work in progress — APIs and test results are being stabilized ahead of a request for Tier 3 status in REP 2000.

Supported ROS 2 distributions

Distribution Status
Humble Hawksbill (LTS) Supported (verified)
Jazzy Jalisco (LTS) Supported (verified)
Lyrical Luth (LTS) Supported (verified)

Supported platforms

Platform Architectures Status
Ubuntu (Linux) amd64 Supported (verified)
Ubuntu (Linux) arm64 Target (library builds; board validation pending)

Quick Start

# 1) Get the sources into your ROS 2 workspace
mkdir -p ~/ros2_ws/src && cd ~/ros2_ws/src
git clone -b humble https://github.com/IntellectusCorp/rmw_int2dds.git
git clone https://github.com/IntellectusCorp/int2dds_ffi_vendor.git

# 2) Build
cd ~/ros2_ws
source /opt/ros/humble/setup.bash
colcon build --packages-up-to rmw_int2dds_cpp
source install/setup.bash

# 3) Select int2DDS as the middleware
export RMW_IMPLEMENTATION=rmw_int2dds_cpp

# 4) Run any ROS 2 demo
ros2 run demo_nodes_cpp talker
# in another terminal (same RMW_IMPLEMENTATION):
ros2 run demo_nodes_cpp listener

Binary install (.deb)

Prebuilt packages let you skip colcon build. Download the two .debs for your distro + architecture from the Releases page, then:

sudo apt install ./ros-humble-int2dds-ffi-vendor_*_amd64.deb \
                 ./ros-humble-rmw-int2dds-cpp_*_amd64.deb
source /opt/ros/humble/setup.bash
export RMW_IMPLEMENTATION=rmw_int2dds_cpp
ros2 run demo_nodes_cpp talker

apt install ./file.deb installs the file and resolves its dependencies (the rmw package pulls in the vendor package automatically). The RMW library and its ament-index marker install into /opt/ros/humble/, so once the environment is sourced only RMW_IMPLEMENTATION needs to be set.

Supported: jazzy / humble / rolling × amd64 / arm64. armhf is best-effort — there are no official ROS 2 armhf apt packages, so an armhf .deb only works on a system where ROS 2 was itself built from source for armhf.

To build the packages yourself: packaging/build-deb.sh <distro> <arch> (needs Docker; see packaging/ for the build and verification scripts).

Middleware library dependency

This package links against the closed-source int2DDS FFI library (libint2dds_ffi.so* and int2dds-ffi.h), which is provided by the int2dds_ffi_vendor package. The vendor package downloads the release artifact, verifies the selected library against the manifest, and exports the int2dds_ffi::int2dds_ffi CMake target used by this RMW package.

Test status

All results below were produced by running the listed suites directly; see doc/ for methodology. Same-vendor and cross-vendor integration tests use the official ROS 2 repositories (rmw_implementation, system_tests).

| Suite | Lyrical | Jazzy | Humble | |—|—|—|—|

File truncated at 100 lines see the full file

CONTRIBUTING

Contributing to rmw_int2dds_cpp

Thank you for your interest in contributing! This package is the ROS 2 RMW binding for int2DDS. For contributions to the underlying DDS core, see the int2DDS repository.

Code of Conduct

This project adheres to a Code of Conduct.

Contributor License Agreement (CLA)

By submitting a pull request you agree to the project CLA (individual / corporate).

Development Environment

Prerequisites

  • A supported ROS 2 distribution (Humble or Jazzy) installed and sourced
  • colcon build tool
  • A C++17 compiler (GCC/Clang/MSVC), CMake >= 3.14.4
  • The int2DDS core library available as a dependency

Workspace setup

mkdir -p ~/ros2_ws/src && cd ~/ros2_ws/src
git clone https://github.com/IntellectusCorp/rmw_int2dds.git
cd ~/ros2_ws
rosdep install --from-paths src --ignore-src -r -y

Building and Testing

# Build
colcon build --packages-up-to rmw_int2dds_cpp

# Run this package's tests
colcon test --packages-select rmw_int2dds_cpp
colcon test-result --verbose

# Run the RMW interface conformance suite against int2DDS
RMW_IMPLEMENTATION=rmw_int2dds_cpp \
  colcon test --packages-select test_rmw_implementation

Tier 3 listing requires the full test_rmw_implementation suite to pass.

Code Style

This package follows the ROS 2 Code Style and Language Versions guide:

  • C++17, max line length 100, .hpp/.cpp extensions
  • Linters run as tests via ament_lint_auto + ament_lint_common (ament_clang_format, ament_cpplint, ament_uncrustify, ament_cppcheck)
  • Build with -Wall -Wextra -Wpedantic
# Run linters
colcon test --packages-select rmw_int2dds_cpp --ctest-args -R lint

Commit Messages

Use the format TYPE: short description (max 72 chars), imperative mood. Types: FEAT, FIX, DOCS, STYLE, REFACTOR, TEST, CHORE, PERF. Reference issues with Fixes #123.

Branch Naming

feature/, fix/, hotfix/, docs/, refactor/, test/ prefixes; lowercase with hyphens (e.g., feature/qos-deadline).

Pull Request Process

  1. Rebase on the latest upstream/main.
  2. Ensure colcon build and colcon test pass, including linters.
  3. Update documentation and CHANGELOG.rst if behavior or APIs changed.
  4. Open a PR with a clear summary, rationale, and testing notes.
  5. Request review from maintainers.

Reporting Bugs

Open a GitHub issue with: description, reproduction steps, expected vs actual behavior, environment (OS, ROS 2 distro, int2DDS version), and logs. For security issues, follow SECURITY.md instead.

License

By contributing, you agree your contributions are licensed under the Apache License 2.0.

License of contributions

Any contribution that you make to this repository will be under the Apache 2 License, as dictated by that

File truncated at 100 lines see the full file

# Contributing to rmw_int2dds_cpp Thank you for your interest in contributing! This package is the ROS 2 RMW binding for int2DDS. For contributions to the underlying DDS core, see the [int2DDS](https://github.com/IntellectusCorp/int2DDS) repository. ## Code of Conduct This project adheres to a [Code of Conduct](CODE_OF_CONDUCT.md). ## Contributor License Agreement (CLA) By submitting a pull request you agree to the project CLA ([individual](CLA-Individual.md) / [corporate](CLA-Corporate.md)). ## Development Environment ### Prerequisites - A supported **ROS 2** distribution (Humble or Jazzy) installed and sourced - **colcon** build tool - A C++17 compiler (GCC/Clang/MSVC), CMake >= 3.14.4 - The **int2DDS** core library available as a dependency ### Workspace setup ```bash mkdir -p ~/ros2_ws/src && cd ~/ros2_ws/src git clone https://github.com/IntellectusCorp/rmw_int2dds.git cd ~/ros2_ws rosdep install --from-paths src --ignore-src -r -y ``` ## Building and Testing ```bash # Build colcon build --packages-up-to rmw_int2dds_cpp # Run this package's tests colcon test --packages-select rmw_int2dds_cpp colcon test-result --verbose # Run the RMW interface conformance suite against int2DDS RMW_IMPLEMENTATION=rmw_int2dds_cpp \ colcon test --packages-select test_rmw_implementation ``` > Tier 3 listing requires the full `test_rmw_implementation` suite to pass. ## Code Style This package follows the ROS 2 [Code Style and Language Versions](https://docs.ros.org/en/jazzy/The-ROS2-Project/Contributing/Code-Style-Language-Versions.html) guide: - C++17, max line length 100, `.hpp`/`.cpp` extensions - Linters run as tests via `ament_lint_auto` + `ament_lint_common` (`ament_clang_format`, `ament_cpplint`, `ament_uncrustify`, `ament_cppcheck`) - Build with `-Wall -Wextra -Wpedantic` ```bash # Run linters colcon test --packages-select rmw_int2dds_cpp --ctest-args -R lint ``` ## Commit Messages Use the format `TYPE: short description` (max 72 chars), imperative mood. Types: `FEAT`, `FIX`, `DOCS`, `STYLE`, `REFACTOR`, `TEST`, `CHORE`, `PERF`. Reference issues with `Fixes #123`. ## Branch Naming `feature/`, `fix/`, `hotfix/`, `docs/`, `refactor/`, `test/` prefixes; lowercase with hyphens (e.g., `feature/qos-deadline`). ## Pull Request Process 1. Rebase on the latest `upstream/main`. 2. Ensure `colcon build` and `colcon test` pass, including linters. 3. Update documentation and `CHANGELOG.rst` if behavior or APIs changed. 4. Open a PR with a clear summary, rationale, and testing notes. 5. Request review from maintainers. ## Reporting Bugs Open a GitHub issue with: description, reproduction steps, expected vs actual behavior, environment (OS, ROS 2 distro, int2DDS version), and logs. For security issues, follow [SECURITY.md](SECURITY.md) instead. ## License By contributing, you agree your contributions are licensed under the [Apache License 2.0](LICENSE). ## License of contributions Any contribution that you make to this repository will be under the Apache 2 License, as dictated by that File truncated at 100 lines [see the full file](https://github.com/IntellectusCorp/rmw_int2dds/tree/humble/CONTRIBUTING.md)
No version for distro eloquent showing humble. Known supported distros are highlighted in the buttons above.
Repo symbol

rmw_int2dds repository

rmw_int2dds_cpp

ROS Distro
humble

Repository Summary

Checkout URI https://github.com/IntellectusCorp/rmw_int2dds.git
VCS Type git
VCS Version humble
Last Updated 2026-07-15
Dev Status DEVELOPED
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Packages

Name Version
rmw_int2dds_cpp 0.1.0

README

ROS 2 RMW for int2DDS

A **ROS 2 RMW implementation** that binds the **int2DDS** DDS/RTPS middleware to the ROS 2 middleware (RMW) interface.

Overview

rmw_int2dds_cpp lets ROS 2 applications run on top of int2DDS, a Rust implementation of the OMG DDS standard (RTPS 2.5). It implements the ROS 2 rmw C interface so that any ROS 2 stack (rclcpp, rclpy, ros2 CLI, tools) can use int2DDS as its middleware via RMW_IMPLEMENTATION=rmw_int2dds_cpp.

Status: work in progress — APIs and test results are being stabilized ahead of a request for Tier 3 status in REP 2000.

Supported ROS 2 distributions

Distribution Status
Humble Hawksbill (LTS) Supported (verified)
Jazzy Jalisco (LTS) Supported (verified)
Lyrical Luth (LTS) Supported (verified)

Supported platforms

Platform Architectures Status
Ubuntu (Linux) amd64 Supported (verified)
Ubuntu (Linux) arm64 Target (library builds; board validation pending)

Quick Start

# 1) Get the sources into your ROS 2 workspace
mkdir -p ~/ros2_ws/src && cd ~/ros2_ws/src
git clone -b humble https://github.com/IntellectusCorp/rmw_int2dds.git
git clone https://github.com/IntellectusCorp/int2dds_ffi_vendor.git

# 2) Build
cd ~/ros2_ws
source /opt/ros/humble/setup.bash
colcon build --packages-up-to rmw_int2dds_cpp
source install/setup.bash

# 3) Select int2DDS as the middleware
export RMW_IMPLEMENTATION=rmw_int2dds_cpp

# 4) Run any ROS 2 demo
ros2 run demo_nodes_cpp talker
# in another terminal (same RMW_IMPLEMENTATION):
ros2 run demo_nodes_cpp listener

Binary install (.deb)

Prebuilt packages let you skip colcon build. Download the two .debs for your distro + architecture from the Releases page, then:

sudo apt install ./ros-humble-int2dds-ffi-vendor_*_amd64.deb \
                 ./ros-humble-rmw-int2dds-cpp_*_amd64.deb
source /opt/ros/humble/setup.bash
export RMW_IMPLEMENTATION=rmw_int2dds_cpp
ros2 run demo_nodes_cpp talker

apt install ./file.deb installs the file and resolves its dependencies (the rmw package pulls in the vendor package automatically). The RMW library and its ament-index marker install into /opt/ros/humble/, so once the environment is sourced only RMW_IMPLEMENTATION needs to be set.

Supported: jazzy / humble / rolling × amd64 / arm64. armhf is best-effort — there are no official ROS 2 armhf apt packages, so an armhf .deb only works on a system where ROS 2 was itself built from source for armhf.

To build the packages yourself: packaging/build-deb.sh <distro> <arch> (needs Docker; see packaging/ for the build and verification scripts).

Middleware library dependency

This package links against the closed-source int2DDS FFI library (libint2dds_ffi.so* and int2dds-ffi.h), which is provided by the int2dds_ffi_vendor package. The vendor package downloads the release artifact, verifies the selected library against the manifest, and exports the int2dds_ffi::int2dds_ffi CMake target used by this RMW package.

Test status

All results below were produced by running the listed suites directly; see doc/ for methodology. Same-vendor and cross-vendor integration tests use the official ROS 2 repositories (rmw_implementation, system_tests).

| Suite | Lyrical | Jazzy | Humble | |—|—|—|—|

File truncated at 100 lines see the full file

CONTRIBUTING

Contributing to rmw_int2dds_cpp

Thank you for your interest in contributing! This package is the ROS 2 RMW binding for int2DDS. For contributions to the underlying DDS core, see the int2DDS repository.

Code of Conduct

This project adheres to a Code of Conduct.

Contributor License Agreement (CLA)

By submitting a pull request you agree to the project CLA (individual / corporate).

Development Environment

Prerequisites

  • A supported ROS 2 distribution (Humble or Jazzy) installed and sourced
  • colcon build tool
  • A C++17 compiler (GCC/Clang/MSVC), CMake >= 3.14.4
  • The int2DDS core library available as a dependency

Workspace setup

mkdir -p ~/ros2_ws/src && cd ~/ros2_ws/src
git clone https://github.com/IntellectusCorp/rmw_int2dds.git
cd ~/ros2_ws
rosdep install --from-paths src --ignore-src -r -y

Building and Testing

# Build
colcon build --packages-up-to rmw_int2dds_cpp

# Run this package's tests
colcon test --packages-select rmw_int2dds_cpp
colcon test-result --verbose

# Run the RMW interface conformance suite against int2DDS
RMW_IMPLEMENTATION=rmw_int2dds_cpp \
  colcon test --packages-select test_rmw_implementation

Tier 3 listing requires the full test_rmw_implementation suite to pass.

Code Style

This package follows the ROS 2 Code Style and Language Versions guide:

  • C++17, max line length 100, .hpp/.cpp extensions
  • Linters run as tests via ament_lint_auto + ament_lint_common (ament_clang_format, ament_cpplint, ament_uncrustify, ament_cppcheck)
  • Build with -Wall -Wextra -Wpedantic
# Run linters
colcon test --packages-select rmw_int2dds_cpp --ctest-args -R lint

Commit Messages

Use the format TYPE: short description (max 72 chars), imperative mood. Types: FEAT, FIX, DOCS, STYLE, REFACTOR, TEST, CHORE, PERF. Reference issues with Fixes #123.

Branch Naming

feature/, fix/, hotfix/, docs/, refactor/, test/ prefixes; lowercase with hyphens (e.g., feature/qos-deadline).

Pull Request Process

  1. Rebase on the latest upstream/main.
  2. Ensure colcon build and colcon test pass, including linters.
  3. Update documentation and CHANGELOG.rst if behavior or APIs changed.
  4. Open a PR with a clear summary, rationale, and testing notes.
  5. Request review from maintainers.

Reporting Bugs

Open a GitHub issue with: description, reproduction steps, expected vs actual behavior, environment (OS, ROS 2 distro, int2DDS version), and logs. For security issues, follow SECURITY.md instead.

License

By contributing, you agree your contributions are licensed under the Apache License 2.0.

License of contributions

Any contribution that you make to this repository will be under the Apache 2 License, as dictated by that

File truncated at 100 lines see the full file

# Contributing to rmw_int2dds_cpp Thank you for your interest in contributing! This package is the ROS 2 RMW binding for int2DDS. For contributions to the underlying DDS core, see the [int2DDS](https://github.com/IntellectusCorp/int2DDS) repository. ## Code of Conduct This project adheres to a [Code of Conduct](CODE_OF_CONDUCT.md). ## Contributor License Agreement (CLA) By submitting a pull request you agree to the project CLA ([individual](CLA-Individual.md) / [corporate](CLA-Corporate.md)). ## Development Environment ### Prerequisites - A supported **ROS 2** distribution (Humble or Jazzy) installed and sourced - **colcon** build tool - A C++17 compiler (GCC/Clang/MSVC), CMake >= 3.14.4 - The **int2DDS** core library available as a dependency ### Workspace setup ```bash mkdir -p ~/ros2_ws/src && cd ~/ros2_ws/src git clone https://github.com/IntellectusCorp/rmw_int2dds.git cd ~/ros2_ws rosdep install --from-paths src --ignore-src -r -y ``` ## Building and Testing ```bash # Build colcon build --packages-up-to rmw_int2dds_cpp # Run this package's tests colcon test --packages-select rmw_int2dds_cpp colcon test-result --verbose # Run the RMW interface conformance suite against int2DDS RMW_IMPLEMENTATION=rmw_int2dds_cpp \ colcon test --packages-select test_rmw_implementation ``` > Tier 3 listing requires the full `test_rmw_implementation` suite to pass. ## Code Style This package follows the ROS 2 [Code Style and Language Versions](https://docs.ros.org/en/jazzy/The-ROS2-Project/Contributing/Code-Style-Language-Versions.html) guide: - C++17, max line length 100, `.hpp`/`.cpp` extensions - Linters run as tests via `ament_lint_auto` + `ament_lint_common` (`ament_clang_format`, `ament_cpplint`, `ament_uncrustify`, `ament_cppcheck`) - Build with `-Wall -Wextra -Wpedantic` ```bash # Run linters colcon test --packages-select rmw_int2dds_cpp --ctest-args -R lint ``` ## Commit Messages Use the format `TYPE: short description` (max 72 chars), imperative mood. Types: `FEAT`, `FIX`, `DOCS`, `STYLE`, `REFACTOR`, `TEST`, `CHORE`, `PERF`. Reference issues with `Fixes #123`. ## Branch Naming `feature/`, `fix/`, `hotfix/`, `docs/`, `refactor/`, `test/` prefixes; lowercase with hyphens (e.g., `feature/qos-deadline`). ## Pull Request Process 1. Rebase on the latest `upstream/main`. 2. Ensure `colcon build` and `colcon test` pass, including linters. 3. Update documentation and `CHANGELOG.rst` if behavior or APIs changed. 4. Open a PR with a clear summary, rationale, and testing notes. 5. Request review from maintainers. ## Reporting Bugs Open a GitHub issue with: description, reproduction steps, expected vs actual behavior, environment (OS, ROS 2 distro, int2DDS version), and logs. For security issues, follow [SECURITY.md](SECURITY.md) instead. ## License By contributing, you agree your contributions are licensed under the [Apache License 2.0](LICENSE). ## License of contributions Any contribution that you make to this repository will be under the Apache 2 License, as dictated by that File truncated at 100 lines [see the full file](https://github.com/IntellectusCorp/rmw_int2dds/tree/humble/CONTRIBUTING.md)
No version for distro dashing showing humble. Known supported distros are highlighted in the buttons above.
Repo symbol

rmw_int2dds repository

rmw_int2dds_cpp

ROS Distro
humble

Repository Summary

Checkout URI https://github.com/IntellectusCorp/rmw_int2dds.git
VCS Type git
VCS Version humble
Last Updated 2026-07-15
Dev Status DEVELOPED
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Packages

Name Version
rmw_int2dds_cpp 0.1.0

README

ROS 2 RMW for int2DDS

A **ROS 2 RMW implementation** that binds the **int2DDS** DDS/RTPS middleware to the ROS 2 middleware (RMW) interface.

Overview

rmw_int2dds_cpp lets ROS 2 applications run on top of int2DDS, a Rust implementation of the OMG DDS standard (RTPS 2.5). It implements the ROS 2 rmw C interface so that any ROS 2 stack (rclcpp, rclpy, ros2 CLI, tools) can use int2DDS as its middleware via RMW_IMPLEMENTATION=rmw_int2dds_cpp.

Status: work in progress — APIs and test results are being stabilized ahead of a request for Tier 3 status in REP 2000.

Supported ROS 2 distributions

Distribution Status
Humble Hawksbill (LTS) Supported (verified)
Jazzy Jalisco (LTS) Supported (verified)
Lyrical Luth (LTS) Supported (verified)

Supported platforms

Platform Architectures Status
Ubuntu (Linux) amd64 Supported (verified)
Ubuntu (Linux) arm64 Target (library builds; board validation pending)

Quick Start

# 1) Get the sources into your ROS 2 workspace
mkdir -p ~/ros2_ws/src && cd ~/ros2_ws/src
git clone -b humble https://github.com/IntellectusCorp/rmw_int2dds.git
git clone https://github.com/IntellectusCorp/int2dds_ffi_vendor.git

# 2) Build
cd ~/ros2_ws
source /opt/ros/humble/setup.bash
colcon build --packages-up-to rmw_int2dds_cpp
source install/setup.bash

# 3) Select int2DDS as the middleware
export RMW_IMPLEMENTATION=rmw_int2dds_cpp

# 4) Run any ROS 2 demo
ros2 run demo_nodes_cpp talker
# in another terminal (same RMW_IMPLEMENTATION):
ros2 run demo_nodes_cpp listener

Binary install (.deb)

Prebuilt packages let you skip colcon build. Download the two .debs for your distro + architecture from the Releases page, then:

sudo apt install ./ros-humble-int2dds-ffi-vendor_*_amd64.deb \
                 ./ros-humble-rmw-int2dds-cpp_*_amd64.deb
source /opt/ros/humble/setup.bash
export RMW_IMPLEMENTATION=rmw_int2dds_cpp
ros2 run demo_nodes_cpp talker

apt install ./file.deb installs the file and resolves its dependencies (the rmw package pulls in the vendor package automatically). The RMW library and its ament-index marker install into /opt/ros/humble/, so once the environment is sourced only RMW_IMPLEMENTATION needs to be set.

Supported: jazzy / humble / rolling × amd64 / arm64. armhf is best-effort — there are no official ROS 2 armhf apt packages, so an armhf .deb only works on a system where ROS 2 was itself built from source for armhf.

To build the packages yourself: packaging/build-deb.sh <distro> <arch> (needs Docker; see packaging/ for the build and verification scripts).

Middleware library dependency

This package links against the closed-source int2DDS FFI library (libint2dds_ffi.so* and int2dds-ffi.h), which is provided by the int2dds_ffi_vendor package. The vendor package downloads the release artifact, verifies the selected library against the manifest, and exports the int2dds_ffi::int2dds_ffi CMake target used by this RMW package.

Test status

All results below were produced by running the listed suites directly; see doc/ for methodology. Same-vendor and cross-vendor integration tests use the official ROS 2 repositories (rmw_implementation, system_tests).

| Suite | Lyrical | Jazzy | Humble | |—|—|—|—|

File truncated at 100 lines see the full file

CONTRIBUTING

Contributing to rmw_int2dds_cpp

Thank you for your interest in contributing! This package is the ROS 2 RMW binding for int2DDS. For contributions to the underlying DDS core, see the int2DDS repository.

Code of Conduct

This project adheres to a Code of Conduct.

Contributor License Agreement (CLA)

By submitting a pull request you agree to the project CLA (individual / corporate).

Development Environment

Prerequisites

  • A supported ROS 2 distribution (Humble or Jazzy) installed and sourced
  • colcon build tool
  • A C++17 compiler (GCC/Clang/MSVC), CMake >= 3.14.4
  • The int2DDS core library available as a dependency

Workspace setup

mkdir -p ~/ros2_ws/src && cd ~/ros2_ws/src
git clone https://github.com/IntellectusCorp/rmw_int2dds.git
cd ~/ros2_ws
rosdep install --from-paths src --ignore-src -r -y

Building and Testing

# Build
colcon build --packages-up-to rmw_int2dds_cpp

# Run this package's tests
colcon test --packages-select rmw_int2dds_cpp
colcon test-result --verbose

# Run the RMW interface conformance suite against int2DDS
RMW_IMPLEMENTATION=rmw_int2dds_cpp \
  colcon test --packages-select test_rmw_implementation

Tier 3 listing requires the full test_rmw_implementation suite to pass.

Code Style

This package follows the ROS 2 Code Style and Language Versions guide:

  • C++17, max line length 100, .hpp/.cpp extensions
  • Linters run as tests via ament_lint_auto + ament_lint_common (ament_clang_format, ament_cpplint, ament_uncrustify, ament_cppcheck)
  • Build with -Wall -Wextra -Wpedantic
# Run linters
colcon test --packages-select rmw_int2dds_cpp --ctest-args -R lint

Commit Messages

Use the format TYPE: short description (max 72 chars), imperative mood. Types: FEAT, FIX, DOCS, STYLE, REFACTOR, TEST, CHORE, PERF. Reference issues with Fixes #123.

Branch Naming

feature/, fix/, hotfix/, docs/, refactor/, test/ prefixes; lowercase with hyphens (e.g., feature/qos-deadline).

Pull Request Process

  1. Rebase on the latest upstream/main.
  2. Ensure colcon build and colcon test pass, including linters.
  3. Update documentation and CHANGELOG.rst if behavior or APIs changed.
  4. Open a PR with a clear summary, rationale, and testing notes.
  5. Request review from maintainers.

Reporting Bugs

Open a GitHub issue with: description, reproduction steps, expected vs actual behavior, environment (OS, ROS 2 distro, int2DDS version), and logs. For security issues, follow SECURITY.md instead.

License

By contributing, you agree your contributions are licensed under the Apache License 2.0.

License of contributions

Any contribution that you make to this repository will be under the Apache 2 License, as dictated by that

File truncated at 100 lines see the full file

# Contributing to rmw_int2dds_cpp Thank you for your interest in contributing! This package is the ROS 2 RMW binding for int2DDS. For contributions to the underlying DDS core, see the [int2DDS](https://github.com/IntellectusCorp/int2DDS) repository. ## Code of Conduct This project adheres to a [Code of Conduct](CODE_OF_CONDUCT.md). ## Contributor License Agreement (CLA) By submitting a pull request you agree to the project CLA ([individual](CLA-Individual.md) / [corporate](CLA-Corporate.md)). ## Development Environment ### Prerequisites - A supported **ROS 2** distribution (Humble or Jazzy) installed and sourced - **colcon** build tool - A C++17 compiler (GCC/Clang/MSVC), CMake >= 3.14.4 - The **int2DDS** core library available as a dependency ### Workspace setup ```bash mkdir -p ~/ros2_ws/src && cd ~/ros2_ws/src git clone https://github.com/IntellectusCorp/rmw_int2dds.git cd ~/ros2_ws rosdep install --from-paths src --ignore-src -r -y ``` ## Building and Testing ```bash # Build colcon build --packages-up-to rmw_int2dds_cpp # Run this package's tests colcon test --packages-select rmw_int2dds_cpp colcon test-result --verbose # Run the RMW interface conformance suite against int2DDS RMW_IMPLEMENTATION=rmw_int2dds_cpp \ colcon test --packages-select test_rmw_implementation ``` > Tier 3 listing requires the full `test_rmw_implementation` suite to pass. ## Code Style This package follows the ROS 2 [Code Style and Language Versions](https://docs.ros.org/en/jazzy/The-ROS2-Project/Contributing/Code-Style-Language-Versions.html) guide: - C++17, max line length 100, `.hpp`/`.cpp` extensions - Linters run as tests via `ament_lint_auto` + `ament_lint_common` (`ament_clang_format`, `ament_cpplint`, `ament_uncrustify`, `ament_cppcheck`) - Build with `-Wall -Wextra -Wpedantic` ```bash # Run linters colcon test --packages-select rmw_int2dds_cpp --ctest-args -R lint ``` ## Commit Messages Use the format `TYPE: short description` (max 72 chars), imperative mood. Types: `FEAT`, `FIX`, `DOCS`, `STYLE`, `REFACTOR`, `TEST`, `CHORE`, `PERF`. Reference issues with `Fixes #123`. ## Branch Naming `feature/`, `fix/`, `hotfix/`, `docs/`, `refactor/`, `test/` prefixes; lowercase with hyphens (e.g., `feature/qos-deadline`). ## Pull Request Process 1. Rebase on the latest `upstream/main`. 2. Ensure `colcon build` and `colcon test` pass, including linters. 3. Update documentation and `CHANGELOG.rst` if behavior or APIs changed. 4. Open a PR with a clear summary, rationale, and testing notes. 5. Request review from maintainers. ## Reporting Bugs Open a GitHub issue with: description, reproduction steps, expected vs actual behavior, environment (OS, ROS 2 distro, int2DDS version), and logs. For security issues, follow [SECURITY.md](SECURITY.md) instead. ## License By contributing, you agree your contributions are licensed under the [Apache License 2.0](LICENSE). ## License of contributions Any contribution that you make to this repository will be under the Apache 2 License, as dictated by that File truncated at 100 lines [see the full file](https://github.com/IntellectusCorp/rmw_int2dds/tree/humble/CONTRIBUTING.md)
No version for distro galactic showing humble. Known supported distros are highlighted in the buttons above.
Repo symbol

rmw_int2dds repository

rmw_int2dds_cpp

ROS Distro
humble

Repository Summary

Checkout URI https://github.com/IntellectusCorp/rmw_int2dds.git
VCS Type git
VCS Version humble
Last Updated 2026-07-15
Dev Status DEVELOPED
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Packages

Name Version
rmw_int2dds_cpp 0.1.0

README

ROS 2 RMW for int2DDS

A **ROS 2 RMW implementation** that binds the **int2DDS** DDS/RTPS middleware to the ROS 2 middleware (RMW) interface.

Overview

rmw_int2dds_cpp lets ROS 2 applications run on top of int2DDS, a Rust implementation of the OMG DDS standard (RTPS 2.5). It implements the ROS 2 rmw C interface so that any ROS 2 stack (rclcpp, rclpy, ros2 CLI, tools) can use int2DDS as its middleware via RMW_IMPLEMENTATION=rmw_int2dds_cpp.

Status: work in progress — APIs and test results are being stabilized ahead of a request for Tier 3 status in REP 2000.

Supported ROS 2 distributions

Distribution Status
Humble Hawksbill (LTS) Supported (verified)
Jazzy Jalisco (LTS) Supported (verified)
Lyrical Luth (LTS) Supported (verified)

Supported platforms

Platform Architectures Status
Ubuntu (Linux) amd64 Supported (verified)
Ubuntu (Linux) arm64 Target (library builds; board validation pending)

Quick Start

# 1) Get the sources into your ROS 2 workspace
mkdir -p ~/ros2_ws/src && cd ~/ros2_ws/src
git clone -b humble https://github.com/IntellectusCorp/rmw_int2dds.git
git clone https://github.com/IntellectusCorp/int2dds_ffi_vendor.git

# 2) Build
cd ~/ros2_ws
source /opt/ros/humble/setup.bash
colcon build --packages-up-to rmw_int2dds_cpp
source install/setup.bash

# 3) Select int2DDS as the middleware
export RMW_IMPLEMENTATION=rmw_int2dds_cpp

# 4) Run any ROS 2 demo
ros2 run demo_nodes_cpp talker
# in another terminal (same RMW_IMPLEMENTATION):
ros2 run demo_nodes_cpp listener

Binary install (.deb)

Prebuilt packages let you skip colcon build. Download the two .debs for your distro + architecture from the Releases page, then:

sudo apt install ./ros-humble-int2dds-ffi-vendor_*_amd64.deb \
                 ./ros-humble-rmw-int2dds-cpp_*_amd64.deb
source /opt/ros/humble/setup.bash
export RMW_IMPLEMENTATION=rmw_int2dds_cpp
ros2 run demo_nodes_cpp talker

apt install ./file.deb installs the file and resolves its dependencies (the rmw package pulls in the vendor package automatically). The RMW library and its ament-index marker install into /opt/ros/humble/, so once the environment is sourced only RMW_IMPLEMENTATION needs to be set.

Supported: jazzy / humble / rolling × amd64 / arm64. armhf is best-effort — there are no official ROS 2 armhf apt packages, so an armhf .deb only works on a system where ROS 2 was itself built from source for armhf.

To build the packages yourself: packaging/build-deb.sh <distro> <arch> (needs Docker; see packaging/ for the build and verification scripts).

Middleware library dependency

This package links against the closed-source int2DDS FFI library (libint2dds_ffi.so* and int2dds-ffi.h), which is provided by the int2dds_ffi_vendor package. The vendor package downloads the release artifact, verifies the selected library against the manifest, and exports the int2dds_ffi::int2dds_ffi CMake target used by this RMW package.

Test status

All results below were produced by running the listed suites directly; see doc/ for methodology. Same-vendor and cross-vendor integration tests use the official ROS 2 repositories (rmw_implementation, system_tests).

| Suite | Lyrical | Jazzy | Humble | |—|—|—|—|

File truncated at 100 lines see the full file

CONTRIBUTING

Contributing to rmw_int2dds_cpp

Thank you for your interest in contributing! This package is the ROS 2 RMW binding for int2DDS. For contributions to the underlying DDS core, see the int2DDS repository.

Code of Conduct

This project adheres to a Code of Conduct.

Contributor License Agreement (CLA)

By submitting a pull request you agree to the project CLA (individual / corporate).

Development Environment

Prerequisites

  • A supported ROS 2 distribution (Humble or Jazzy) installed and sourced
  • colcon build tool
  • A C++17 compiler (GCC/Clang/MSVC), CMake >= 3.14.4
  • The int2DDS core library available as a dependency

Workspace setup

mkdir -p ~/ros2_ws/src && cd ~/ros2_ws/src
git clone https://github.com/IntellectusCorp/rmw_int2dds.git
cd ~/ros2_ws
rosdep install --from-paths src --ignore-src -r -y

Building and Testing

# Build
colcon build --packages-up-to rmw_int2dds_cpp

# Run this package's tests
colcon test --packages-select rmw_int2dds_cpp
colcon test-result --verbose

# Run the RMW interface conformance suite against int2DDS
RMW_IMPLEMENTATION=rmw_int2dds_cpp \
  colcon test --packages-select test_rmw_implementation

Tier 3 listing requires the full test_rmw_implementation suite to pass.

Code Style

This package follows the ROS 2 Code Style and Language Versions guide:

  • C++17, max line length 100, .hpp/.cpp extensions
  • Linters run as tests via ament_lint_auto + ament_lint_common (ament_clang_format, ament_cpplint, ament_uncrustify, ament_cppcheck)
  • Build with -Wall -Wextra -Wpedantic
# Run linters
colcon test --packages-select rmw_int2dds_cpp --ctest-args -R lint

Commit Messages

Use the format TYPE: short description (max 72 chars), imperative mood. Types: FEAT, FIX, DOCS, STYLE, REFACTOR, TEST, CHORE, PERF. Reference issues with Fixes #123.

Branch Naming

feature/, fix/, hotfix/, docs/, refactor/, test/ prefixes; lowercase with hyphens (e.g., feature/qos-deadline).

Pull Request Process

  1. Rebase on the latest upstream/main.
  2. Ensure colcon build and colcon test pass, including linters.
  3. Update documentation and CHANGELOG.rst if behavior or APIs changed.
  4. Open a PR with a clear summary, rationale, and testing notes.
  5. Request review from maintainers.

Reporting Bugs

Open a GitHub issue with: description, reproduction steps, expected vs actual behavior, environment (OS, ROS 2 distro, int2DDS version), and logs. For security issues, follow SECURITY.md instead.

License

By contributing, you agree your contributions are licensed under the Apache License 2.0.

License of contributions

Any contribution that you make to this repository will be under the Apache 2 License, as dictated by that

File truncated at 100 lines see the full file

# Contributing to rmw_int2dds_cpp Thank you for your interest in contributing! This package is the ROS 2 RMW binding for int2DDS. For contributions to the underlying DDS core, see the [int2DDS](https://github.com/IntellectusCorp/int2DDS) repository. ## Code of Conduct This project adheres to a [Code of Conduct](CODE_OF_CONDUCT.md). ## Contributor License Agreement (CLA) By submitting a pull request you agree to the project CLA ([individual](CLA-Individual.md) / [corporate](CLA-Corporate.md)). ## Development Environment ### Prerequisites - A supported **ROS 2** distribution (Humble or Jazzy) installed and sourced - **colcon** build tool - A C++17 compiler (GCC/Clang/MSVC), CMake >= 3.14.4 - The **int2DDS** core library available as a dependency ### Workspace setup ```bash mkdir -p ~/ros2_ws/src && cd ~/ros2_ws/src git clone https://github.com/IntellectusCorp/rmw_int2dds.git cd ~/ros2_ws rosdep install --from-paths src --ignore-src -r -y ``` ## Building and Testing ```bash # Build colcon build --packages-up-to rmw_int2dds_cpp # Run this package's tests colcon test --packages-select rmw_int2dds_cpp colcon test-result --verbose # Run the RMW interface conformance suite against int2DDS RMW_IMPLEMENTATION=rmw_int2dds_cpp \ colcon test --packages-select test_rmw_implementation ``` > Tier 3 listing requires the full `test_rmw_implementation` suite to pass. ## Code Style This package follows the ROS 2 [Code Style and Language Versions](https://docs.ros.org/en/jazzy/The-ROS2-Project/Contributing/Code-Style-Language-Versions.html) guide: - C++17, max line length 100, `.hpp`/`.cpp` extensions - Linters run as tests via `ament_lint_auto` + `ament_lint_common` (`ament_clang_format`, `ament_cpplint`, `ament_uncrustify`, `ament_cppcheck`) - Build with `-Wall -Wextra -Wpedantic` ```bash # Run linters colcon test --packages-select rmw_int2dds_cpp --ctest-args -R lint ``` ## Commit Messages Use the format `TYPE: short description` (max 72 chars), imperative mood. Types: `FEAT`, `FIX`, `DOCS`, `STYLE`, `REFACTOR`, `TEST`, `CHORE`, `PERF`. Reference issues with `Fixes #123`. ## Branch Naming `feature/`, `fix/`, `hotfix/`, `docs/`, `refactor/`, `test/` prefixes; lowercase with hyphens (e.g., `feature/qos-deadline`). ## Pull Request Process 1. Rebase on the latest `upstream/main`. 2. Ensure `colcon build` and `colcon test` pass, including linters. 3. Update documentation and `CHANGELOG.rst` if behavior or APIs changed. 4. Open a PR with a clear summary, rationale, and testing notes. 5. Request review from maintainers. ## Reporting Bugs Open a GitHub issue with: description, reproduction steps, expected vs actual behavior, environment (OS, ROS 2 distro, int2DDS version), and logs. For security issues, follow [SECURITY.md](SECURITY.md) instead. ## License By contributing, you agree your contributions are licensed under the [Apache License 2.0](LICENSE). ## License of contributions Any contribution that you make to this repository will be under the Apache 2 License, as dictated by that File truncated at 100 lines [see the full file](https://github.com/IntellectusCorp/rmw_int2dds/tree/humble/CONTRIBUTING.md)
No version for distro foxy showing humble. Known supported distros are highlighted in the buttons above.
Repo symbol

rmw_int2dds repository

rmw_int2dds_cpp

ROS Distro
humble

Repository Summary

Checkout URI https://github.com/IntellectusCorp/rmw_int2dds.git
VCS Type git
VCS Version humble
Last Updated 2026-07-15
Dev Status DEVELOPED
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Packages

Name Version
rmw_int2dds_cpp 0.1.0

README

ROS 2 RMW for int2DDS

A **ROS 2 RMW implementation** that binds the **int2DDS** DDS/RTPS middleware to the ROS 2 middleware (RMW) interface.

Overview

rmw_int2dds_cpp lets ROS 2 applications run on top of int2DDS, a Rust implementation of the OMG DDS standard (RTPS 2.5). It implements the ROS 2 rmw C interface so that any ROS 2 stack (rclcpp, rclpy, ros2 CLI, tools) can use int2DDS as its middleware via RMW_IMPLEMENTATION=rmw_int2dds_cpp.

Status: work in progress — APIs and test results are being stabilized ahead of a request for Tier 3 status in REP 2000.

Supported ROS 2 distributions

Distribution Status
Humble Hawksbill (LTS) Supported (verified)
Jazzy Jalisco (LTS) Supported (verified)
Lyrical Luth (LTS) Supported (verified)

Supported platforms

Platform Architectures Status
Ubuntu (Linux) amd64 Supported (verified)
Ubuntu (Linux) arm64 Target (library builds; board validation pending)

Quick Start

# 1) Get the sources into your ROS 2 workspace
mkdir -p ~/ros2_ws/src && cd ~/ros2_ws/src
git clone -b humble https://github.com/IntellectusCorp/rmw_int2dds.git
git clone https://github.com/IntellectusCorp/int2dds_ffi_vendor.git

# 2) Build
cd ~/ros2_ws
source /opt/ros/humble/setup.bash
colcon build --packages-up-to rmw_int2dds_cpp
source install/setup.bash

# 3) Select int2DDS as the middleware
export RMW_IMPLEMENTATION=rmw_int2dds_cpp

# 4) Run any ROS 2 demo
ros2 run demo_nodes_cpp talker
# in another terminal (same RMW_IMPLEMENTATION):
ros2 run demo_nodes_cpp listener

Binary install (.deb)

Prebuilt packages let you skip colcon build. Download the two .debs for your distro + architecture from the Releases page, then:

sudo apt install ./ros-humble-int2dds-ffi-vendor_*_amd64.deb \
                 ./ros-humble-rmw-int2dds-cpp_*_amd64.deb
source /opt/ros/humble/setup.bash
export RMW_IMPLEMENTATION=rmw_int2dds_cpp
ros2 run demo_nodes_cpp talker

apt install ./file.deb installs the file and resolves its dependencies (the rmw package pulls in the vendor package automatically). The RMW library and its ament-index marker install into /opt/ros/humble/, so once the environment is sourced only RMW_IMPLEMENTATION needs to be set.

Supported: jazzy / humble / rolling × amd64 / arm64. armhf is best-effort — there are no official ROS 2 armhf apt packages, so an armhf .deb only works on a system where ROS 2 was itself built from source for armhf.

To build the packages yourself: packaging/build-deb.sh <distro> <arch> (needs Docker; see packaging/ for the build and verification scripts).

Middleware library dependency

This package links against the closed-source int2DDS FFI library (libint2dds_ffi.so* and int2dds-ffi.h), which is provided by the int2dds_ffi_vendor package. The vendor package downloads the release artifact, verifies the selected library against the manifest, and exports the int2dds_ffi::int2dds_ffi CMake target used by this RMW package.

Test status

All results below were produced by running the listed suites directly; see doc/ for methodology. Same-vendor and cross-vendor integration tests use the official ROS 2 repositories (rmw_implementation, system_tests).

| Suite | Lyrical | Jazzy | Humble | |—|—|—|—|

File truncated at 100 lines see the full file

CONTRIBUTING

Contributing to rmw_int2dds_cpp

Thank you for your interest in contributing! This package is the ROS 2 RMW binding for int2DDS. For contributions to the underlying DDS core, see the int2DDS repository.

Code of Conduct

This project adheres to a Code of Conduct.

Contributor License Agreement (CLA)

By submitting a pull request you agree to the project CLA (individual / corporate).

Development Environment

Prerequisites

  • A supported ROS 2 distribution (Humble or Jazzy) installed and sourced
  • colcon build tool
  • A C++17 compiler (GCC/Clang/MSVC), CMake >= 3.14.4
  • The int2DDS core library available as a dependency

Workspace setup

mkdir -p ~/ros2_ws/src && cd ~/ros2_ws/src
git clone https://github.com/IntellectusCorp/rmw_int2dds.git
cd ~/ros2_ws
rosdep install --from-paths src --ignore-src -r -y

Building and Testing

# Build
colcon build --packages-up-to rmw_int2dds_cpp

# Run this package's tests
colcon test --packages-select rmw_int2dds_cpp
colcon test-result --verbose

# Run the RMW interface conformance suite against int2DDS
RMW_IMPLEMENTATION=rmw_int2dds_cpp \
  colcon test --packages-select test_rmw_implementation

Tier 3 listing requires the full test_rmw_implementation suite to pass.

Code Style

This package follows the ROS 2 Code Style and Language Versions guide:

  • C++17, max line length 100, .hpp/.cpp extensions
  • Linters run as tests via ament_lint_auto + ament_lint_common (ament_clang_format, ament_cpplint, ament_uncrustify, ament_cppcheck)
  • Build with -Wall -Wextra -Wpedantic
# Run linters
colcon test --packages-select rmw_int2dds_cpp --ctest-args -R lint

Commit Messages

Use the format TYPE: short description (max 72 chars), imperative mood. Types: FEAT, FIX, DOCS, STYLE, REFACTOR, TEST, CHORE, PERF. Reference issues with Fixes #123.

Branch Naming

feature/, fix/, hotfix/, docs/, refactor/, test/ prefixes; lowercase with hyphens (e.g., feature/qos-deadline).

Pull Request Process

  1. Rebase on the latest upstream/main.
  2. Ensure colcon build and colcon test pass, including linters.
  3. Update documentation and CHANGELOG.rst if behavior or APIs changed.
  4. Open a PR with a clear summary, rationale, and testing notes.
  5. Request review from maintainers.

Reporting Bugs

Open a GitHub issue with: description, reproduction steps, expected vs actual behavior, environment (OS, ROS 2 distro, int2DDS version), and logs. For security issues, follow SECURITY.md instead.

License

By contributing, you agree your contributions are licensed under the Apache License 2.0.

License of contributions

Any contribution that you make to this repository will be under the Apache 2 License, as dictated by that

File truncated at 100 lines see the full file

# Contributing to rmw_int2dds_cpp Thank you for your interest in contributing! This package is the ROS 2 RMW binding for int2DDS. For contributions to the underlying DDS core, see the [int2DDS](https://github.com/IntellectusCorp/int2DDS) repository. ## Code of Conduct This project adheres to a [Code of Conduct](CODE_OF_CONDUCT.md). ## Contributor License Agreement (CLA) By submitting a pull request you agree to the project CLA ([individual](CLA-Individual.md) / [corporate](CLA-Corporate.md)). ## Development Environment ### Prerequisites - A supported **ROS 2** distribution (Humble or Jazzy) installed and sourced - **colcon** build tool - A C++17 compiler (GCC/Clang/MSVC), CMake >= 3.14.4 - The **int2DDS** core library available as a dependency ### Workspace setup ```bash mkdir -p ~/ros2_ws/src && cd ~/ros2_ws/src git clone https://github.com/IntellectusCorp/rmw_int2dds.git cd ~/ros2_ws rosdep install --from-paths src --ignore-src -r -y ``` ## Building and Testing ```bash # Build colcon build --packages-up-to rmw_int2dds_cpp # Run this package's tests colcon test --packages-select rmw_int2dds_cpp colcon test-result --verbose # Run the RMW interface conformance suite against int2DDS RMW_IMPLEMENTATION=rmw_int2dds_cpp \ colcon test --packages-select test_rmw_implementation ``` > Tier 3 listing requires the full `test_rmw_implementation` suite to pass. ## Code Style This package follows the ROS 2 [Code Style and Language Versions](https://docs.ros.org/en/jazzy/The-ROS2-Project/Contributing/Code-Style-Language-Versions.html) guide: - C++17, max line length 100, `.hpp`/`.cpp` extensions - Linters run as tests via `ament_lint_auto` + `ament_lint_common` (`ament_clang_format`, `ament_cpplint`, `ament_uncrustify`, `ament_cppcheck`) - Build with `-Wall -Wextra -Wpedantic` ```bash # Run linters colcon test --packages-select rmw_int2dds_cpp --ctest-args -R lint ``` ## Commit Messages Use the format `TYPE: short description` (max 72 chars), imperative mood. Types: `FEAT`, `FIX`, `DOCS`, `STYLE`, `REFACTOR`, `TEST`, `CHORE`, `PERF`. Reference issues with `Fixes #123`. ## Branch Naming `feature/`, `fix/`, `hotfix/`, `docs/`, `refactor/`, `test/` prefixes; lowercase with hyphens (e.g., `feature/qos-deadline`). ## Pull Request Process 1. Rebase on the latest `upstream/main`. 2. Ensure `colcon build` and `colcon test` pass, including linters. 3. Update documentation and `CHANGELOG.rst` if behavior or APIs changed. 4. Open a PR with a clear summary, rationale, and testing notes. 5. Request review from maintainers. ## Reporting Bugs Open a GitHub issue with: description, reproduction steps, expected vs actual behavior, environment (OS, ROS 2 distro, int2DDS version), and logs. For security issues, follow [SECURITY.md](SECURITY.md) instead. ## License By contributing, you agree your contributions are licensed under the [Apache License 2.0](LICENSE). ## License of contributions Any contribution that you make to this repository will be under the Apache 2 License, as dictated by that File truncated at 100 lines [see the full file](https://github.com/IntellectusCorp/rmw_int2dds/tree/humble/CONTRIBUTING.md)
No version for distro iron showing humble. Known supported distros are highlighted in the buttons above.
Repo symbol

rmw_int2dds repository

rmw_int2dds_cpp

ROS Distro
humble

Repository Summary

Checkout URI https://github.com/IntellectusCorp/rmw_int2dds.git
VCS Type git
VCS Version humble
Last Updated 2026-07-15
Dev Status DEVELOPED
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Packages

Name Version
rmw_int2dds_cpp 0.1.0

README

ROS 2 RMW for int2DDS

A **ROS 2 RMW implementation** that binds the **int2DDS** DDS/RTPS middleware to the ROS 2 middleware (RMW) interface.

Overview

rmw_int2dds_cpp lets ROS 2 applications run on top of int2DDS, a Rust implementation of the OMG DDS standard (RTPS 2.5). It implements the ROS 2 rmw C interface so that any ROS 2 stack (rclcpp, rclpy, ros2 CLI, tools) can use int2DDS as its middleware via RMW_IMPLEMENTATION=rmw_int2dds_cpp.

Status: work in progress — APIs and test results are being stabilized ahead of a request for Tier 3 status in REP 2000.

Supported ROS 2 distributions

Distribution Status
Humble Hawksbill (LTS) Supported (verified)
Jazzy Jalisco (LTS) Supported (verified)
Lyrical Luth (LTS) Supported (verified)

Supported platforms

Platform Architectures Status
Ubuntu (Linux) amd64 Supported (verified)
Ubuntu (Linux) arm64 Target (library builds; board validation pending)

Quick Start

# 1) Get the sources into your ROS 2 workspace
mkdir -p ~/ros2_ws/src && cd ~/ros2_ws/src
git clone -b humble https://github.com/IntellectusCorp/rmw_int2dds.git
git clone https://github.com/IntellectusCorp/int2dds_ffi_vendor.git

# 2) Build
cd ~/ros2_ws
source /opt/ros/humble/setup.bash
colcon build --packages-up-to rmw_int2dds_cpp
source install/setup.bash

# 3) Select int2DDS as the middleware
export RMW_IMPLEMENTATION=rmw_int2dds_cpp

# 4) Run any ROS 2 demo
ros2 run demo_nodes_cpp talker
# in another terminal (same RMW_IMPLEMENTATION):
ros2 run demo_nodes_cpp listener

Binary install (.deb)

Prebuilt packages let you skip colcon build. Download the two .debs for your distro + architecture from the Releases page, then:

sudo apt install ./ros-humble-int2dds-ffi-vendor_*_amd64.deb \
                 ./ros-humble-rmw-int2dds-cpp_*_amd64.deb
source /opt/ros/humble/setup.bash
export RMW_IMPLEMENTATION=rmw_int2dds_cpp
ros2 run demo_nodes_cpp talker

apt install ./file.deb installs the file and resolves its dependencies (the rmw package pulls in the vendor package automatically). The RMW library and its ament-index marker install into /opt/ros/humble/, so once the environment is sourced only RMW_IMPLEMENTATION needs to be set.

Supported: jazzy / humble / rolling × amd64 / arm64. armhf is best-effort — there are no official ROS 2 armhf apt packages, so an armhf .deb only works on a system where ROS 2 was itself built from source for armhf.

To build the packages yourself: packaging/build-deb.sh <distro> <arch> (needs Docker; see packaging/ for the build and verification scripts).

Middleware library dependency

This package links against the closed-source int2DDS FFI library (libint2dds_ffi.so* and int2dds-ffi.h), which is provided by the int2dds_ffi_vendor package. The vendor package downloads the release artifact, verifies the selected library against the manifest, and exports the int2dds_ffi::int2dds_ffi CMake target used by this RMW package.

Test status

All results below were produced by running the listed suites directly; see doc/ for methodology. Same-vendor and cross-vendor integration tests use the official ROS 2 repositories (rmw_implementation, system_tests).

| Suite | Lyrical | Jazzy | Humble | |—|—|—|—|

File truncated at 100 lines see the full file

CONTRIBUTING

Contributing to rmw_int2dds_cpp

Thank you for your interest in contributing! This package is the ROS 2 RMW binding for int2DDS. For contributions to the underlying DDS core, see the int2DDS repository.

Code of Conduct

This project adheres to a Code of Conduct.

Contributor License Agreement (CLA)

By submitting a pull request you agree to the project CLA (individual / corporate).

Development Environment

Prerequisites

  • A supported ROS 2 distribution (Humble or Jazzy) installed and sourced
  • colcon build tool
  • A C++17 compiler (GCC/Clang/MSVC), CMake >= 3.14.4
  • The int2DDS core library available as a dependency

Workspace setup

mkdir -p ~/ros2_ws/src && cd ~/ros2_ws/src
git clone https://github.com/IntellectusCorp/rmw_int2dds.git
cd ~/ros2_ws
rosdep install --from-paths src --ignore-src -r -y

Building and Testing

# Build
colcon build --packages-up-to rmw_int2dds_cpp

# Run this package's tests
colcon test --packages-select rmw_int2dds_cpp
colcon test-result --verbose

# Run the RMW interface conformance suite against int2DDS
RMW_IMPLEMENTATION=rmw_int2dds_cpp \
  colcon test --packages-select test_rmw_implementation

Tier 3 listing requires the full test_rmw_implementation suite to pass.

Code Style

This package follows the ROS 2 Code Style and Language Versions guide:

  • C++17, max line length 100, .hpp/.cpp extensions
  • Linters run as tests via ament_lint_auto + ament_lint_common (ament_clang_format, ament_cpplint, ament_uncrustify, ament_cppcheck)
  • Build with -Wall -Wextra -Wpedantic
# Run linters
colcon test --packages-select rmw_int2dds_cpp --ctest-args -R lint

Commit Messages

Use the format TYPE: short description (max 72 chars), imperative mood. Types: FEAT, FIX, DOCS, STYLE, REFACTOR, TEST, CHORE, PERF. Reference issues with Fixes #123.

Branch Naming

feature/, fix/, hotfix/, docs/, refactor/, test/ prefixes; lowercase with hyphens (e.g., feature/qos-deadline).

Pull Request Process

  1. Rebase on the latest upstream/main.
  2. Ensure colcon build and colcon test pass, including linters.
  3. Update documentation and CHANGELOG.rst if behavior or APIs changed.
  4. Open a PR with a clear summary, rationale, and testing notes.
  5. Request review from maintainers.

Reporting Bugs

Open a GitHub issue with: description, reproduction steps, expected vs actual behavior, environment (OS, ROS 2 distro, int2DDS version), and logs. For security issues, follow SECURITY.md instead.

License

By contributing, you agree your contributions are licensed under the Apache License 2.0.

License of contributions

Any contribution that you make to this repository will be under the Apache 2 License, as dictated by that

File truncated at 100 lines see the full file

# Contributing to rmw_int2dds_cpp Thank you for your interest in contributing! This package is the ROS 2 RMW binding for int2DDS. For contributions to the underlying DDS core, see the [int2DDS](https://github.com/IntellectusCorp/int2DDS) repository. ## Code of Conduct This project adheres to a [Code of Conduct](CODE_OF_CONDUCT.md). ## Contributor License Agreement (CLA) By submitting a pull request you agree to the project CLA ([individual](CLA-Individual.md) / [corporate](CLA-Corporate.md)). ## Development Environment ### Prerequisites - A supported **ROS 2** distribution (Humble or Jazzy) installed and sourced - **colcon** build tool - A C++17 compiler (GCC/Clang/MSVC), CMake >= 3.14.4 - The **int2DDS** core library available as a dependency ### Workspace setup ```bash mkdir -p ~/ros2_ws/src && cd ~/ros2_ws/src git clone https://github.com/IntellectusCorp/rmw_int2dds.git cd ~/ros2_ws rosdep install --from-paths src --ignore-src -r -y ``` ## Building and Testing ```bash # Build colcon build --packages-up-to rmw_int2dds_cpp # Run this package's tests colcon test --packages-select rmw_int2dds_cpp colcon test-result --verbose # Run the RMW interface conformance suite against int2DDS RMW_IMPLEMENTATION=rmw_int2dds_cpp \ colcon test --packages-select test_rmw_implementation ``` > Tier 3 listing requires the full `test_rmw_implementation` suite to pass. ## Code Style This package follows the ROS 2 [Code Style and Language Versions](https://docs.ros.org/en/jazzy/The-ROS2-Project/Contributing/Code-Style-Language-Versions.html) guide: - C++17, max line length 100, `.hpp`/`.cpp` extensions - Linters run as tests via `ament_lint_auto` + `ament_lint_common` (`ament_clang_format`, `ament_cpplint`, `ament_uncrustify`, `ament_cppcheck`) - Build with `-Wall -Wextra -Wpedantic` ```bash # Run linters colcon test --packages-select rmw_int2dds_cpp --ctest-args -R lint ``` ## Commit Messages Use the format `TYPE: short description` (max 72 chars), imperative mood. Types: `FEAT`, `FIX`, `DOCS`, `STYLE`, `REFACTOR`, `TEST`, `CHORE`, `PERF`. Reference issues with `Fixes #123`. ## Branch Naming `feature/`, `fix/`, `hotfix/`, `docs/`, `refactor/`, `test/` prefixes; lowercase with hyphens (e.g., `feature/qos-deadline`). ## Pull Request Process 1. Rebase on the latest `upstream/main`. 2. Ensure `colcon build` and `colcon test` pass, including linters. 3. Update documentation and `CHANGELOG.rst` if behavior or APIs changed. 4. Open a PR with a clear summary, rationale, and testing notes. 5. Request review from maintainers. ## Reporting Bugs Open a GitHub issue with: description, reproduction steps, expected vs actual behavior, environment (OS, ROS 2 distro, int2DDS version), and logs. For security issues, follow [SECURITY.md](SECURITY.md) instead. ## License By contributing, you agree your contributions are licensed under the [Apache License 2.0](LICENSE). ## License of contributions Any contribution that you make to this repository will be under the Apache 2 License, as dictated by that File truncated at 100 lines [see the full file](https://github.com/IntellectusCorp/rmw_int2dds/tree/humble/CONTRIBUTING.md)
No version for distro lunar showing humble. Known supported distros are highlighted in the buttons above.
Repo symbol

rmw_int2dds repository

rmw_int2dds_cpp

ROS Distro
humble

Repository Summary

Checkout URI https://github.com/IntellectusCorp/rmw_int2dds.git
VCS Type git
VCS Version humble
Last Updated 2026-07-15
Dev Status DEVELOPED
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Packages

Name Version
rmw_int2dds_cpp 0.1.0

README

ROS 2 RMW for int2DDS

A **ROS 2 RMW implementation** that binds the **int2DDS** DDS/RTPS middleware to the ROS 2 middleware (RMW) interface.

Overview

rmw_int2dds_cpp lets ROS 2 applications run on top of int2DDS, a Rust implementation of the OMG DDS standard (RTPS 2.5). It implements the ROS 2 rmw C interface so that any ROS 2 stack (rclcpp, rclpy, ros2 CLI, tools) can use int2DDS as its middleware via RMW_IMPLEMENTATION=rmw_int2dds_cpp.

Status: work in progress — APIs and test results are being stabilized ahead of a request for Tier 3 status in REP 2000.

Supported ROS 2 distributions

Distribution Status
Humble Hawksbill (LTS) Supported (verified)
Jazzy Jalisco (LTS) Supported (verified)
Lyrical Luth (LTS) Supported (verified)

Supported platforms

Platform Architectures Status
Ubuntu (Linux) amd64 Supported (verified)
Ubuntu (Linux) arm64 Target (library builds; board validation pending)

Quick Start

# 1) Get the sources into your ROS 2 workspace
mkdir -p ~/ros2_ws/src && cd ~/ros2_ws/src
git clone -b humble https://github.com/IntellectusCorp/rmw_int2dds.git
git clone https://github.com/IntellectusCorp/int2dds_ffi_vendor.git

# 2) Build
cd ~/ros2_ws
source /opt/ros/humble/setup.bash
colcon build --packages-up-to rmw_int2dds_cpp
source install/setup.bash

# 3) Select int2DDS as the middleware
export RMW_IMPLEMENTATION=rmw_int2dds_cpp

# 4) Run any ROS 2 demo
ros2 run demo_nodes_cpp talker
# in another terminal (same RMW_IMPLEMENTATION):
ros2 run demo_nodes_cpp listener

Binary install (.deb)

Prebuilt packages let you skip colcon build. Download the two .debs for your distro + architecture from the Releases page, then:

sudo apt install ./ros-humble-int2dds-ffi-vendor_*_amd64.deb \
                 ./ros-humble-rmw-int2dds-cpp_*_amd64.deb
source /opt/ros/humble/setup.bash
export RMW_IMPLEMENTATION=rmw_int2dds_cpp
ros2 run demo_nodes_cpp talker

apt install ./file.deb installs the file and resolves its dependencies (the rmw package pulls in the vendor package automatically). The RMW library and its ament-index marker install into /opt/ros/humble/, so once the environment is sourced only RMW_IMPLEMENTATION needs to be set.

Supported: jazzy / humble / rolling × amd64 / arm64. armhf is best-effort — there are no official ROS 2 armhf apt packages, so an armhf .deb only works on a system where ROS 2 was itself built from source for armhf.

To build the packages yourself: packaging/build-deb.sh <distro> <arch> (needs Docker; see packaging/ for the build and verification scripts).

Middleware library dependency

This package links against the closed-source int2DDS FFI library (libint2dds_ffi.so* and int2dds-ffi.h), which is provided by the int2dds_ffi_vendor package. The vendor package downloads the release artifact, verifies the selected library against the manifest, and exports the int2dds_ffi::int2dds_ffi CMake target used by this RMW package.

Test status

All results below were produced by running the listed suites directly; see doc/ for methodology. Same-vendor and cross-vendor integration tests use the official ROS 2 repositories (rmw_implementation, system_tests).

| Suite | Lyrical | Jazzy | Humble | |—|—|—|—|

File truncated at 100 lines see the full file

CONTRIBUTING

Contributing to rmw_int2dds_cpp

Thank you for your interest in contributing! This package is the ROS 2 RMW binding for int2DDS. For contributions to the underlying DDS core, see the int2DDS repository.

Code of Conduct

This project adheres to a Code of Conduct.

Contributor License Agreement (CLA)

By submitting a pull request you agree to the project CLA (individual / corporate).

Development Environment

Prerequisites

  • A supported ROS 2 distribution (Humble or Jazzy) installed and sourced
  • colcon build tool
  • A C++17 compiler (GCC/Clang/MSVC), CMake >= 3.14.4
  • The int2DDS core library available as a dependency

Workspace setup

mkdir -p ~/ros2_ws/src && cd ~/ros2_ws/src
git clone https://github.com/IntellectusCorp/rmw_int2dds.git
cd ~/ros2_ws
rosdep install --from-paths src --ignore-src -r -y

Building and Testing

# Build
colcon build --packages-up-to rmw_int2dds_cpp

# Run this package's tests
colcon test --packages-select rmw_int2dds_cpp
colcon test-result --verbose

# Run the RMW interface conformance suite against int2DDS
RMW_IMPLEMENTATION=rmw_int2dds_cpp \
  colcon test --packages-select test_rmw_implementation

Tier 3 listing requires the full test_rmw_implementation suite to pass.

Code Style

This package follows the ROS 2 Code Style and Language Versions guide:

  • C++17, max line length 100, .hpp/.cpp extensions
  • Linters run as tests via ament_lint_auto + ament_lint_common (ament_clang_format, ament_cpplint, ament_uncrustify, ament_cppcheck)
  • Build with -Wall -Wextra -Wpedantic
# Run linters
colcon test --packages-select rmw_int2dds_cpp --ctest-args -R lint

Commit Messages

Use the format TYPE: short description (max 72 chars), imperative mood. Types: FEAT, FIX, DOCS, STYLE, REFACTOR, TEST, CHORE, PERF. Reference issues with Fixes #123.

Branch Naming

feature/, fix/, hotfix/, docs/, refactor/, test/ prefixes; lowercase with hyphens (e.g., feature/qos-deadline).

Pull Request Process

  1. Rebase on the latest upstream/main.
  2. Ensure colcon build and colcon test pass, including linters.
  3. Update documentation and CHANGELOG.rst if behavior or APIs changed.
  4. Open a PR with a clear summary, rationale, and testing notes.
  5. Request review from maintainers.

Reporting Bugs

Open a GitHub issue with: description, reproduction steps, expected vs actual behavior, environment (OS, ROS 2 distro, int2DDS version), and logs. For security issues, follow SECURITY.md instead.

License

By contributing, you agree your contributions are licensed under the Apache License 2.0.

License of contributions

Any contribution that you make to this repository will be under the Apache 2 License, as dictated by that

File truncated at 100 lines see the full file

# Contributing to rmw_int2dds_cpp Thank you for your interest in contributing! This package is the ROS 2 RMW binding for int2DDS. For contributions to the underlying DDS core, see the [int2DDS](https://github.com/IntellectusCorp/int2DDS) repository. ## Code of Conduct This project adheres to a [Code of Conduct](CODE_OF_CONDUCT.md). ## Contributor License Agreement (CLA) By submitting a pull request you agree to the project CLA ([individual](CLA-Individual.md) / [corporate](CLA-Corporate.md)). ## Development Environment ### Prerequisites - A supported **ROS 2** distribution (Humble or Jazzy) installed and sourced - **colcon** build tool - A C++17 compiler (GCC/Clang/MSVC), CMake >= 3.14.4 - The **int2DDS** core library available as a dependency ### Workspace setup ```bash mkdir -p ~/ros2_ws/src && cd ~/ros2_ws/src git clone https://github.com/IntellectusCorp/rmw_int2dds.git cd ~/ros2_ws rosdep install --from-paths src --ignore-src -r -y ``` ## Building and Testing ```bash # Build colcon build --packages-up-to rmw_int2dds_cpp # Run this package's tests colcon test --packages-select rmw_int2dds_cpp colcon test-result --verbose # Run the RMW interface conformance suite against int2DDS RMW_IMPLEMENTATION=rmw_int2dds_cpp \ colcon test --packages-select test_rmw_implementation ``` > Tier 3 listing requires the full `test_rmw_implementation` suite to pass. ## Code Style This package follows the ROS 2 [Code Style and Language Versions](https://docs.ros.org/en/jazzy/The-ROS2-Project/Contributing/Code-Style-Language-Versions.html) guide: - C++17, max line length 100, `.hpp`/`.cpp` extensions - Linters run as tests via `ament_lint_auto` + `ament_lint_common` (`ament_clang_format`, `ament_cpplint`, `ament_uncrustify`, `ament_cppcheck`) - Build with `-Wall -Wextra -Wpedantic` ```bash # Run linters colcon test --packages-select rmw_int2dds_cpp --ctest-args -R lint ``` ## Commit Messages Use the format `TYPE: short description` (max 72 chars), imperative mood. Types: `FEAT`, `FIX`, `DOCS`, `STYLE`, `REFACTOR`, `TEST`, `CHORE`, `PERF`. Reference issues with `Fixes #123`. ## Branch Naming `feature/`, `fix/`, `hotfix/`, `docs/`, `refactor/`, `test/` prefixes; lowercase with hyphens (e.g., `feature/qos-deadline`). ## Pull Request Process 1. Rebase on the latest `upstream/main`. 2. Ensure `colcon build` and `colcon test` pass, including linters. 3. Update documentation and `CHANGELOG.rst` if behavior or APIs changed. 4. Open a PR with a clear summary, rationale, and testing notes. 5. Request review from maintainers. ## Reporting Bugs Open a GitHub issue with: description, reproduction steps, expected vs actual behavior, environment (OS, ROS 2 distro, int2DDS version), and logs. For security issues, follow [SECURITY.md](SECURITY.md) instead. ## License By contributing, you agree your contributions are licensed under the [Apache License 2.0](LICENSE). ## License of contributions Any contribution that you make to this repository will be under the Apache 2 License, as dictated by that File truncated at 100 lines [see the full file](https://github.com/IntellectusCorp/rmw_int2dds/tree/humble/CONTRIBUTING.md)
No version for distro jade showing humble. Known supported distros are highlighted in the buttons above.
Repo symbol

rmw_int2dds repository

rmw_int2dds_cpp

ROS Distro
humble

Repository Summary

Checkout URI https://github.com/IntellectusCorp/rmw_int2dds.git
VCS Type git
VCS Version humble
Last Updated 2026-07-15
Dev Status DEVELOPED
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Packages

Name Version
rmw_int2dds_cpp 0.1.0

README

ROS 2 RMW for int2DDS

A **ROS 2 RMW implementation** that binds the **int2DDS** DDS/RTPS middleware to the ROS 2 middleware (RMW) interface.

Overview

rmw_int2dds_cpp lets ROS 2 applications run on top of int2DDS, a Rust implementation of the OMG DDS standard (RTPS 2.5). It implements the ROS 2 rmw C interface so that any ROS 2 stack (rclcpp, rclpy, ros2 CLI, tools) can use int2DDS as its middleware via RMW_IMPLEMENTATION=rmw_int2dds_cpp.

Status: work in progress — APIs and test results are being stabilized ahead of a request for Tier 3 status in REP 2000.

Supported ROS 2 distributions

Distribution Status
Humble Hawksbill (LTS) Supported (verified)
Jazzy Jalisco (LTS) Supported (verified)
Lyrical Luth (LTS) Supported (verified)

Supported platforms

Platform Architectures Status
Ubuntu (Linux) amd64 Supported (verified)
Ubuntu (Linux) arm64 Target (library builds; board validation pending)

Quick Start

# 1) Get the sources into your ROS 2 workspace
mkdir -p ~/ros2_ws/src && cd ~/ros2_ws/src
git clone -b humble https://github.com/IntellectusCorp/rmw_int2dds.git
git clone https://github.com/IntellectusCorp/int2dds_ffi_vendor.git

# 2) Build
cd ~/ros2_ws
source /opt/ros/humble/setup.bash
colcon build --packages-up-to rmw_int2dds_cpp
source install/setup.bash

# 3) Select int2DDS as the middleware
export RMW_IMPLEMENTATION=rmw_int2dds_cpp

# 4) Run any ROS 2 demo
ros2 run demo_nodes_cpp talker
# in another terminal (same RMW_IMPLEMENTATION):
ros2 run demo_nodes_cpp listener

Binary install (.deb)

Prebuilt packages let you skip colcon build. Download the two .debs for your distro + architecture from the Releases page, then:

sudo apt install ./ros-humble-int2dds-ffi-vendor_*_amd64.deb \
                 ./ros-humble-rmw-int2dds-cpp_*_amd64.deb
source /opt/ros/humble/setup.bash
export RMW_IMPLEMENTATION=rmw_int2dds_cpp
ros2 run demo_nodes_cpp talker

apt install ./file.deb installs the file and resolves its dependencies (the rmw package pulls in the vendor package automatically). The RMW library and its ament-index marker install into /opt/ros/humble/, so once the environment is sourced only RMW_IMPLEMENTATION needs to be set.

Supported: jazzy / humble / rolling × amd64 / arm64. armhf is best-effort — there are no official ROS 2 armhf apt packages, so an armhf .deb only works on a system where ROS 2 was itself built from source for armhf.

To build the packages yourself: packaging/build-deb.sh <distro> <arch> (needs Docker; see packaging/ for the build and verification scripts).

Middleware library dependency

This package links against the closed-source int2DDS FFI library (libint2dds_ffi.so* and int2dds-ffi.h), which is provided by the int2dds_ffi_vendor package. The vendor package downloads the release artifact, verifies the selected library against the manifest, and exports the int2dds_ffi::int2dds_ffi CMake target used by this RMW package.

Test status

All results below were produced by running the listed suites directly; see doc/ for methodology. Same-vendor and cross-vendor integration tests use the official ROS 2 repositories (rmw_implementation, system_tests).

| Suite | Lyrical | Jazzy | Humble | |—|—|—|—|

File truncated at 100 lines see the full file

CONTRIBUTING

Contributing to rmw_int2dds_cpp

Thank you for your interest in contributing! This package is the ROS 2 RMW binding for int2DDS. For contributions to the underlying DDS core, see the int2DDS repository.

Code of Conduct

This project adheres to a Code of Conduct.

Contributor License Agreement (CLA)

By submitting a pull request you agree to the project CLA (individual / corporate).

Development Environment

Prerequisites

  • A supported ROS 2 distribution (Humble or Jazzy) installed and sourced
  • colcon build tool
  • A C++17 compiler (GCC/Clang/MSVC), CMake >= 3.14.4
  • The int2DDS core library available as a dependency

Workspace setup

mkdir -p ~/ros2_ws/src && cd ~/ros2_ws/src
git clone https://github.com/IntellectusCorp/rmw_int2dds.git
cd ~/ros2_ws
rosdep install --from-paths src --ignore-src -r -y

Building and Testing

# Build
colcon build --packages-up-to rmw_int2dds_cpp

# Run this package's tests
colcon test --packages-select rmw_int2dds_cpp
colcon test-result --verbose

# Run the RMW interface conformance suite against int2DDS
RMW_IMPLEMENTATION=rmw_int2dds_cpp \
  colcon test --packages-select test_rmw_implementation

Tier 3 listing requires the full test_rmw_implementation suite to pass.

Code Style

This package follows the ROS 2 Code Style and Language Versions guide:

  • C++17, max line length 100, .hpp/.cpp extensions
  • Linters run as tests via ament_lint_auto + ament_lint_common (ament_clang_format, ament_cpplint, ament_uncrustify, ament_cppcheck)
  • Build with -Wall -Wextra -Wpedantic
# Run linters
colcon test --packages-select rmw_int2dds_cpp --ctest-args -R lint

Commit Messages

Use the format TYPE: short description (max 72 chars), imperative mood. Types: FEAT, FIX, DOCS, STYLE, REFACTOR, TEST, CHORE, PERF. Reference issues with Fixes #123.

Branch Naming

feature/, fix/, hotfix/, docs/, refactor/, test/ prefixes; lowercase with hyphens (e.g., feature/qos-deadline).

Pull Request Process

  1. Rebase on the latest upstream/main.
  2. Ensure colcon build and colcon test pass, including linters.
  3. Update documentation and CHANGELOG.rst if behavior or APIs changed.
  4. Open a PR with a clear summary, rationale, and testing notes.
  5. Request review from maintainers.

Reporting Bugs

Open a GitHub issue with: description, reproduction steps, expected vs actual behavior, environment (OS, ROS 2 distro, int2DDS version), and logs. For security issues, follow SECURITY.md instead.

License

By contributing, you agree your contributions are licensed under the Apache License 2.0.

License of contributions

Any contribution that you make to this repository will be under the Apache 2 License, as dictated by that

File truncated at 100 lines see the full file

# Contributing to rmw_int2dds_cpp Thank you for your interest in contributing! This package is the ROS 2 RMW binding for int2DDS. For contributions to the underlying DDS core, see the [int2DDS](https://github.com/IntellectusCorp/int2DDS) repository. ## Code of Conduct This project adheres to a [Code of Conduct](CODE_OF_CONDUCT.md). ## Contributor License Agreement (CLA) By submitting a pull request you agree to the project CLA ([individual](CLA-Individual.md) / [corporate](CLA-Corporate.md)). ## Development Environment ### Prerequisites - A supported **ROS 2** distribution (Humble or Jazzy) installed and sourced - **colcon** build tool - A C++17 compiler (GCC/Clang/MSVC), CMake >= 3.14.4 - The **int2DDS** core library available as a dependency ### Workspace setup ```bash mkdir -p ~/ros2_ws/src && cd ~/ros2_ws/src git clone https://github.com/IntellectusCorp/rmw_int2dds.git cd ~/ros2_ws rosdep install --from-paths src --ignore-src -r -y ``` ## Building and Testing ```bash # Build colcon build --packages-up-to rmw_int2dds_cpp # Run this package's tests colcon test --packages-select rmw_int2dds_cpp colcon test-result --verbose # Run the RMW interface conformance suite against int2DDS RMW_IMPLEMENTATION=rmw_int2dds_cpp \ colcon test --packages-select test_rmw_implementation ``` > Tier 3 listing requires the full `test_rmw_implementation` suite to pass. ## Code Style This package follows the ROS 2 [Code Style and Language Versions](https://docs.ros.org/en/jazzy/The-ROS2-Project/Contributing/Code-Style-Language-Versions.html) guide: - C++17, max line length 100, `.hpp`/`.cpp` extensions - Linters run as tests via `ament_lint_auto` + `ament_lint_common` (`ament_clang_format`, `ament_cpplint`, `ament_uncrustify`, `ament_cppcheck`) - Build with `-Wall -Wextra -Wpedantic` ```bash # Run linters colcon test --packages-select rmw_int2dds_cpp --ctest-args -R lint ``` ## Commit Messages Use the format `TYPE: short description` (max 72 chars), imperative mood. Types: `FEAT`, `FIX`, `DOCS`, `STYLE`, `REFACTOR`, `TEST`, `CHORE`, `PERF`. Reference issues with `Fixes #123`. ## Branch Naming `feature/`, `fix/`, `hotfix/`, `docs/`, `refactor/`, `test/` prefixes; lowercase with hyphens (e.g., `feature/qos-deadline`). ## Pull Request Process 1. Rebase on the latest `upstream/main`. 2. Ensure `colcon build` and `colcon test` pass, including linters. 3. Update documentation and `CHANGELOG.rst` if behavior or APIs changed. 4. Open a PR with a clear summary, rationale, and testing notes. 5. Request review from maintainers. ## Reporting Bugs Open a GitHub issue with: description, reproduction steps, expected vs actual behavior, environment (OS, ROS 2 distro, int2DDS version), and logs. For security issues, follow [SECURITY.md](SECURITY.md) instead. ## License By contributing, you agree your contributions are licensed under the [Apache License 2.0](LICENSE). ## License of contributions Any contribution that you make to this repository will be under the Apache 2 License, as dictated by that File truncated at 100 lines [see the full file](https://github.com/IntellectusCorp/rmw_int2dds/tree/humble/CONTRIBUTING.md)
No version for distro indigo showing humble. Known supported distros are highlighted in the buttons above.
Repo symbol

rmw_int2dds repository

rmw_int2dds_cpp

ROS Distro
humble

Repository Summary

Checkout URI https://github.com/IntellectusCorp/rmw_int2dds.git
VCS Type git
VCS Version humble
Last Updated 2026-07-15
Dev Status DEVELOPED
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Packages

Name Version
rmw_int2dds_cpp 0.1.0

README

ROS 2 RMW for int2DDS

A **ROS 2 RMW implementation** that binds the **int2DDS** DDS/RTPS middleware to the ROS 2 middleware (RMW) interface.

Overview

rmw_int2dds_cpp lets ROS 2 applications run on top of int2DDS, a Rust implementation of the OMG DDS standard (RTPS 2.5). It implements the ROS 2 rmw C interface so that any ROS 2 stack (rclcpp, rclpy, ros2 CLI, tools) can use int2DDS as its middleware via RMW_IMPLEMENTATION=rmw_int2dds_cpp.

Status: work in progress — APIs and test results are being stabilized ahead of a request for Tier 3 status in REP 2000.

Supported ROS 2 distributions

Distribution Status
Humble Hawksbill (LTS) Supported (verified)
Jazzy Jalisco (LTS) Supported (verified)
Lyrical Luth (LTS) Supported (verified)

Supported platforms

Platform Architectures Status
Ubuntu (Linux) amd64 Supported (verified)
Ubuntu (Linux) arm64 Target (library builds; board validation pending)

Quick Start

# 1) Get the sources into your ROS 2 workspace
mkdir -p ~/ros2_ws/src && cd ~/ros2_ws/src
git clone -b humble https://github.com/IntellectusCorp/rmw_int2dds.git
git clone https://github.com/IntellectusCorp/int2dds_ffi_vendor.git

# 2) Build
cd ~/ros2_ws
source /opt/ros/humble/setup.bash
colcon build --packages-up-to rmw_int2dds_cpp
source install/setup.bash

# 3) Select int2DDS as the middleware
export RMW_IMPLEMENTATION=rmw_int2dds_cpp

# 4) Run any ROS 2 demo
ros2 run demo_nodes_cpp talker
# in another terminal (same RMW_IMPLEMENTATION):
ros2 run demo_nodes_cpp listener

Binary install (.deb)

Prebuilt packages let you skip colcon build. Download the two .debs for your distro + architecture from the Releases page, then:

sudo apt install ./ros-humble-int2dds-ffi-vendor_*_amd64.deb \
                 ./ros-humble-rmw-int2dds-cpp_*_amd64.deb
source /opt/ros/humble/setup.bash
export RMW_IMPLEMENTATION=rmw_int2dds_cpp
ros2 run demo_nodes_cpp talker

apt install ./file.deb installs the file and resolves its dependencies (the rmw package pulls in the vendor package automatically). The RMW library and its ament-index marker install into /opt/ros/humble/, so once the environment is sourced only RMW_IMPLEMENTATION needs to be set.

Supported: jazzy / humble / rolling × amd64 / arm64. armhf is best-effort — there are no official ROS 2 armhf apt packages, so an armhf .deb only works on a system where ROS 2 was itself built from source for armhf.

To build the packages yourself: packaging/build-deb.sh <distro> <arch> (needs Docker; see packaging/ for the build and verification scripts).

Middleware library dependency

This package links against the closed-source int2DDS FFI library (libint2dds_ffi.so* and int2dds-ffi.h), which is provided by the int2dds_ffi_vendor package. The vendor package downloads the release artifact, verifies the selected library against the manifest, and exports the int2dds_ffi::int2dds_ffi CMake target used by this RMW package.

Test status

All results below were produced by running the listed suites directly; see doc/ for methodology. Same-vendor and cross-vendor integration tests use the official ROS 2 repositories (rmw_implementation, system_tests).

| Suite | Lyrical | Jazzy | Humble | |—|—|—|—|

File truncated at 100 lines see the full file

CONTRIBUTING

Contributing to rmw_int2dds_cpp

Thank you for your interest in contributing! This package is the ROS 2 RMW binding for int2DDS. For contributions to the underlying DDS core, see the int2DDS repository.

Code of Conduct

This project adheres to a Code of Conduct.

Contributor License Agreement (CLA)

By submitting a pull request you agree to the project CLA (individual / corporate).

Development Environment

Prerequisites

  • A supported ROS 2 distribution (Humble or Jazzy) installed and sourced
  • colcon build tool
  • A C++17 compiler (GCC/Clang/MSVC), CMake >= 3.14.4
  • The int2DDS core library available as a dependency

Workspace setup

mkdir -p ~/ros2_ws/src && cd ~/ros2_ws/src
git clone https://github.com/IntellectusCorp/rmw_int2dds.git
cd ~/ros2_ws
rosdep install --from-paths src --ignore-src -r -y

Building and Testing

# Build
colcon build --packages-up-to rmw_int2dds_cpp

# Run this package's tests
colcon test --packages-select rmw_int2dds_cpp
colcon test-result --verbose

# Run the RMW interface conformance suite against int2DDS
RMW_IMPLEMENTATION=rmw_int2dds_cpp \
  colcon test --packages-select test_rmw_implementation

Tier 3 listing requires the full test_rmw_implementation suite to pass.

Code Style

This package follows the ROS 2 Code Style and Language Versions guide:

  • C++17, max line length 100, .hpp/.cpp extensions
  • Linters run as tests via ament_lint_auto + ament_lint_common (ament_clang_format, ament_cpplint, ament_uncrustify, ament_cppcheck)
  • Build with -Wall -Wextra -Wpedantic
# Run linters
colcon test --packages-select rmw_int2dds_cpp --ctest-args -R lint

Commit Messages

Use the format TYPE: short description (max 72 chars), imperative mood. Types: FEAT, FIX, DOCS, STYLE, REFACTOR, TEST, CHORE, PERF. Reference issues with Fixes #123.

Branch Naming

feature/, fix/, hotfix/, docs/, refactor/, test/ prefixes; lowercase with hyphens (e.g., feature/qos-deadline).

Pull Request Process

  1. Rebase on the latest upstream/main.
  2. Ensure colcon build and colcon test pass, including linters.
  3. Update documentation and CHANGELOG.rst if behavior or APIs changed.
  4. Open a PR with a clear summary, rationale, and testing notes.
  5. Request review from maintainers.

Reporting Bugs

Open a GitHub issue with: description, reproduction steps, expected vs actual behavior, environment (OS, ROS 2 distro, int2DDS version), and logs. For security issues, follow SECURITY.md instead.

License

By contributing, you agree your contributions are licensed under the Apache License 2.0.

License of contributions

Any contribution that you make to this repository will be under the Apache 2 License, as dictated by that

File truncated at 100 lines see the full file

# Contributing to rmw_int2dds_cpp Thank you for your interest in contributing! This package is the ROS 2 RMW binding for int2DDS. For contributions to the underlying DDS core, see the [int2DDS](https://github.com/IntellectusCorp/int2DDS) repository. ## Code of Conduct This project adheres to a [Code of Conduct](CODE_OF_CONDUCT.md). ## Contributor License Agreement (CLA) By submitting a pull request you agree to the project CLA ([individual](CLA-Individual.md) / [corporate](CLA-Corporate.md)). ## Development Environment ### Prerequisites - A supported **ROS 2** distribution (Humble or Jazzy) installed and sourced - **colcon** build tool - A C++17 compiler (GCC/Clang/MSVC), CMake >= 3.14.4 - The **int2DDS** core library available as a dependency ### Workspace setup ```bash mkdir -p ~/ros2_ws/src && cd ~/ros2_ws/src git clone https://github.com/IntellectusCorp/rmw_int2dds.git cd ~/ros2_ws rosdep install --from-paths src --ignore-src -r -y ``` ## Building and Testing ```bash # Build colcon build --packages-up-to rmw_int2dds_cpp # Run this package's tests colcon test --packages-select rmw_int2dds_cpp colcon test-result --verbose # Run the RMW interface conformance suite against int2DDS RMW_IMPLEMENTATION=rmw_int2dds_cpp \ colcon test --packages-select test_rmw_implementation ``` > Tier 3 listing requires the full `test_rmw_implementation` suite to pass. ## Code Style This package follows the ROS 2 [Code Style and Language Versions](https://docs.ros.org/en/jazzy/The-ROS2-Project/Contributing/Code-Style-Language-Versions.html) guide: - C++17, max line length 100, `.hpp`/`.cpp` extensions - Linters run as tests via `ament_lint_auto` + `ament_lint_common` (`ament_clang_format`, `ament_cpplint`, `ament_uncrustify`, `ament_cppcheck`) - Build with `-Wall -Wextra -Wpedantic` ```bash # Run linters colcon test --packages-select rmw_int2dds_cpp --ctest-args -R lint ``` ## Commit Messages Use the format `TYPE: short description` (max 72 chars), imperative mood. Types: `FEAT`, `FIX`, `DOCS`, `STYLE`, `REFACTOR`, `TEST`, `CHORE`, `PERF`. Reference issues with `Fixes #123`. ## Branch Naming `feature/`, `fix/`, `hotfix/`, `docs/`, `refactor/`, `test/` prefixes; lowercase with hyphens (e.g., `feature/qos-deadline`). ## Pull Request Process 1. Rebase on the latest `upstream/main`. 2. Ensure `colcon build` and `colcon test` pass, including linters. 3. Update documentation and `CHANGELOG.rst` if behavior or APIs changed. 4. Open a PR with a clear summary, rationale, and testing notes. 5. Request review from maintainers. ## Reporting Bugs Open a GitHub issue with: description, reproduction steps, expected vs actual behavior, environment (OS, ROS 2 distro, int2DDS version), and logs. For security issues, follow [SECURITY.md](SECURITY.md) instead. ## License By contributing, you agree your contributions are licensed under the [Apache License 2.0](LICENSE). ## License of contributions Any contribution that you make to this repository will be under the Apache 2 License, as dictated by that File truncated at 100 lines [see the full file](https://github.com/IntellectusCorp/rmw_int2dds/tree/humble/CONTRIBUTING.md)
No version for distro hydro showing humble. Known supported distros are highlighted in the buttons above.
Repo symbol

rmw_int2dds repository

rmw_int2dds_cpp

ROS Distro
humble

Repository Summary

Checkout URI https://github.com/IntellectusCorp/rmw_int2dds.git
VCS Type git
VCS Version humble
Last Updated 2026-07-15
Dev Status DEVELOPED
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Packages

Name Version
rmw_int2dds_cpp 0.1.0

README

ROS 2 RMW for int2DDS

A **ROS 2 RMW implementation** that binds the **int2DDS** DDS/RTPS middleware to the ROS 2 middleware (RMW) interface.

Overview

rmw_int2dds_cpp lets ROS 2 applications run on top of int2DDS, a Rust implementation of the OMG DDS standard (RTPS 2.5). It implements the ROS 2 rmw C interface so that any ROS 2 stack (rclcpp, rclpy, ros2 CLI, tools) can use int2DDS as its middleware via RMW_IMPLEMENTATION=rmw_int2dds_cpp.

Status: work in progress — APIs and test results are being stabilized ahead of a request for Tier 3 status in REP 2000.

Supported ROS 2 distributions

Distribution Status
Humble Hawksbill (LTS) Supported (verified)
Jazzy Jalisco (LTS) Supported (verified)
Lyrical Luth (LTS) Supported (verified)

Supported platforms

Platform Architectures Status
Ubuntu (Linux) amd64 Supported (verified)
Ubuntu (Linux) arm64 Target (library builds; board validation pending)

Quick Start

# 1) Get the sources into your ROS 2 workspace
mkdir -p ~/ros2_ws/src && cd ~/ros2_ws/src
git clone -b humble https://github.com/IntellectusCorp/rmw_int2dds.git
git clone https://github.com/IntellectusCorp/int2dds_ffi_vendor.git

# 2) Build
cd ~/ros2_ws
source /opt/ros/humble/setup.bash
colcon build --packages-up-to rmw_int2dds_cpp
source install/setup.bash

# 3) Select int2DDS as the middleware
export RMW_IMPLEMENTATION=rmw_int2dds_cpp

# 4) Run any ROS 2 demo
ros2 run demo_nodes_cpp talker
# in another terminal (same RMW_IMPLEMENTATION):
ros2 run demo_nodes_cpp listener

Binary install (.deb)

Prebuilt packages let you skip colcon build. Download the two .debs for your distro + architecture from the Releases page, then:

sudo apt install ./ros-humble-int2dds-ffi-vendor_*_amd64.deb \
                 ./ros-humble-rmw-int2dds-cpp_*_amd64.deb
source /opt/ros/humble/setup.bash
export RMW_IMPLEMENTATION=rmw_int2dds_cpp
ros2 run demo_nodes_cpp talker

apt install ./file.deb installs the file and resolves its dependencies (the rmw package pulls in the vendor package automatically). The RMW library and its ament-index marker install into /opt/ros/humble/, so once the environment is sourced only RMW_IMPLEMENTATION needs to be set.

Supported: jazzy / humble / rolling × amd64 / arm64. armhf is best-effort — there are no official ROS 2 armhf apt packages, so an armhf .deb only works on a system where ROS 2 was itself built from source for armhf.

To build the packages yourself: packaging/build-deb.sh <distro> <arch> (needs Docker; see packaging/ for the build and verification scripts).

Middleware library dependency

This package links against the closed-source int2DDS FFI library (libint2dds_ffi.so* and int2dds-ffi.h), which is provided by the int2dds_ffi_vendor package. The vendor package downloads the release artifact, verifies the selected library against the manifest, and exports the int2dds_ffi::int2dds_ffi CMake target used by this RMW package.

Test status

All results below were produced by running the listed suites directly; see doc/ for methodology. Same-vendor and cross-vendor integration tests use the official ROS 2 repositories (rmw_implementation, system_tests).

| Suite | Lyrical | Jazzy | Humble | |—|—|—|—|

File truncated at 100 lines see the full file

CONTRIBUTING

Contributing to rmw_int2dds_cpp

Thank you for your interest in contributing! This package is the ROS 2 RMW binding for int2DDS. For contributions to the underlying DDS core, see the int2DDS repository.

Code of Conduct

This project adheres to a Code of Conduct.

Contributor License Agreement (CLA)

By submitting a pull request you agree to the project CLA (individual / corporate).

Development Environment

Prerequisites

  • A supported ROS 2 distribution (Humble or Jazzy) installed and sourced
  • colcon build tool
  • A C++17 compiler (GCC/Clang/MSVC), CMake >= 3.14.4
  • The int2DDS core library available as a dependency

Workspace setup

mkdir -p ~/ros2_ws/src && cd ~/ros2_ws/src
git clone https://github.com/IntellectusCorp/rmw_int2dds.git
cd ~/ros2_ws
rosdep install --from-paths src --ignore-src -r -y

Building and Testing

# Build
colcon build --packages-up-to rmw_int2dds_cpp

# Run this package's tests
colcon test --packages-select rmw_int2dds_cpp
colcon test-result --verbose

# Run the RMW interface conformance suite against int2DDS
RMW_IMPLEMENTATION=rmw_int2dds_cpp \
  colcon test --packages-select test_rmw_implementation

Tier 3 listing requires the full test_rmw_implementation suite to pass.

Code Style

This package follows the ROS 2 Code Style and Language Versions guide:

  • C++17, max line length 100, .hpp/.cpp extensions
  • Linters run as tests via ament_lint_auto + ament_lint_common (ament_clang_format, ament_cpplint, ament_uncrustify, ament_cppcheck)
  • Build with -Wall -Wextra -Wpedantic
# Run linters
colcon test --packages-select rmw_int2dds_cpp --ctest-args -R lint

Commit Messages

Use the format TYPE: short description (max 72 chars), imperative mood. Types: FEAT, FIX, DOCS, STYLE, REFACTOR, TEST, CHORE, PERF. Reference issues with Fixes #123.

Branch Naming

feature/, fix/, hotfix/, docs/, refactor/, test/ prefixes; lowercase with hyphens (e.g., feature/qos-deadline).

Pull Request Process

  1. Rebase on the latest upstream/main.
  2. Ensure colcon build and colcon test pass, including linters.
  3. Update documentation and CHANGELOG.rst if behavior or APIs changed.
  4. Open a PR with a clear summary, rationale, and testing notes.
  5. Request review from maintainers.

Reporting Bugs

Open a GitHub issue with: description, reproduction steps, expected vs actual behavior, environment (OS, ROS 2 distro, int2DDS version), and logs. For security issues, follow SECURITY.md instead.

License

By contributing, you agree your contributions are licensed under the Apache License 2.0.

License of contributions

Any contribution that you make to this repository will be under the Apache 2 License, as dictated by that

File truncated at 100 lines see the full file

# Contributing to rmw_int2dds_cpp Thank you for your interest in contributing! This package is the ROS 2 RMW binding for int2DDS. For contributions to the underlying DDS core, see the [int2DDS](https://github.com/IntellectusCorp/int2DDS) repository. ## Code of Conduct This project adheres to a [Code of Conduct](CODE_OF_CONDUCT.md). ## Contributor License Agreement (CLA) By submitting a pull request you agree to the project CLA ([individual](CLA-Individual.md) / [corporate](CLA-Corporate.md)). ## Development Environment ### Prerequisites - A supported **ROS 2** distribution (Humble or Jazzy) installed and sourced - **colcon** build tool - A C++17 compiler (GCC/Clang/MSVC), CMake >= 3.14.4 - The **int2DDS** core library available as a dependency ### Workspace setup ```bash mkdir -p ~/ros2_ws/src && cd ~/ros2_ws/src git clone https://github.com/IntellectusCorp/rmw_int2dds.git cd ~/ros2_ws rosdep install --from-paths src --ignore-src -r -y ``` ## Building and Testing ```bash # Build colcon build --packages-up-to rmw_int2dds_cpp # Run this package's tests colcon test --packages-select rmw_int2dds_cpp colcon test-result --verbose # Run the RMW interface conformance suite against int2DDS RMW_IMPLEMENTATION=rmw_int2dds_cpp \ colcon test --packages-select test_rmw_implementation ``` > Tier 3 listing requires the full `test_rmw_implementation` suite to pass. ## Code Style This package follows the ROS 2 [Code Style and Language Versions](https://docs.ros.org/en/jazzy/The-ROS2-Project/Contributing/Code-Style-Language-Versions.html) guide: - C++17, max line length 100, `.hpp`/`.cpp` extensions - Linters run as tests via `ament_lint_auto` + `ament_lint_common` (`ament_clang_format`, `ament_cpplint`, `ament_uncrustify`, `ament_cppcheck`) - Build with `-Wall -Wextra -Wpedantic` ```bash # Run linters colcon test --packages-select rmw_int2dds_cpp --ctest-args -R lint ``` ## Commit Messages Use the format `TYPE: short description` (max 72 chars), imperative mood. Types: `FEAT`, `FIX`, `DOCS`, `STYLE`, `REFACTOR`, `TEST`, `CHORE`, `PERF`. Reference issues with `Fixes #123`. ## Branch Naming `feature/`, `fix/`, `hotfix/`, `docs/`, `refactor/`, `test/` prefixes; lowercase with hyphens (e.g., `feature/qos-deadline`). ## Pull Request Process 1. Rebase on the latest `upstream/main`. 2. Ensure `colcon build` and `colcon test` pass, including linters. 3. Update documentation and `CHANGELOG.rst` if behavior or APIs changed. 4. Open a PR with a clear summary, rationale, and testing notes. 5. Request review from maintainers. ## Reporting Bugs Open a GitHub issue with: description, reproduction steps, expected vs actual behavior, environment (OS, ROS 2 distro, int2DDS version), and logs. For security issues, follow [SECURITY.md](SECURITY.md) instead. ## License By contributing, you agree your contributions are licensed under the [Apache License 2.0](LICENSE). ## License of contributions Any contribution that you make to this repository will be under the Apache 2 License, as dictated by that File truncated at 100 lines [see the full file](https://github.com/IntellectusCorp/rmw_int2dds/tree/humble/CONTRIBUTING.md)
No version for distro kinetic showing humble. Known supported distros are highlighted in the buttons above.
Repo symbol

rmw_int2dds repository

rmw_int2dds_cpp

ROS Distro
humble

Repository Summary

Checkout URI https://github.com/IntellectusCorp/rmw_int2dds.git
VCS Type git
VCS Version humble
Last Updated 2026-07-15
Dev Status DEVELOPED
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Packages

Name Version
rmw_int2dds_cpp 0.1.0

README

ROS 2 RMW for int2DDS

A **ROS 2 RMW implementation** that binds the **int2DDS** DDS/RTPS middleware to the ROS 2 middleware (RMW) interface.

Overview

rmw_int2dds_cpp lets ROS 2 applications run on top of int2DDS, a Rust implementation of the OMG DDS standard (RTPS 2.5). It implements the ROS 2 rmw C interface so that any ROS 2 stack (rclcpp, rclpy, ros2 CLI, tools) can use int2DDS as its middleware via RMW_IMPLEMENTATION=rmw_int2dds_cpp.

Status: work in progress — APIs and test results are being stabilized ahead of a request for Tier 3 status in REP 2000.

Supported ROS 2 distributions

Distribution Status
Humble Hawksbill (LTS) Supported (verified)
Jazzy Jalisco (LTS) Supported (verified)
Lyrical Luth (LTS) Supported (verified)

Supported platforms

Platform Architectures Status
Ubuntu (Linux) amd64 Supported (verified)
Ubuntu (Linux) arm64 Target (library builds; board validation pending)

Quick Start

# 1) Get the sources into your ROS 2 workspace
mkdir -p ~/ros2_ws/src && cd ~/ros2_ws/src
git clone -b humble https://github.com/IntellectusCorp/rmw_int2dds.git
git clone https://github.com/IntellectusCorp/int2dds_ffi_vendor.git

# 2) Build
cd ~/ros2_ws
source /opt/ros/humble/setup.bash
colcon build --packages-up-to rmw_int2dds_cpp
source install/setup.bash

# 3) Select int2DDS as the middleware
export RMW_IMPLEMENTATION=rmw_int2dds_cpp

# 4) Run any ROS 2 demo
ros2 run demo_nodes_cpp talker
# in another terminal (same RMW_IMPLEMENTATION):
ros2 run demo_nodes_cpp listener

Binary install (.deb)

Prebuilt packages let you skip colcon build. Download the two .debs for your distro + architecture from the Releases page, then:

sudo apt install ./ros-humble-int2dds-ffi-vendor_*_amd64.deb \
                 ./ros-humble-rmw-int2dds-cpp_*_amd64.deb
source /opt/ros/humble/setup.bash
export RMW_IMPLEMENTATION=rmw_int2dds_cpp
ros2 run demo_nodes_cpp talker

apt install ./file.deb installs the file and resolves its dependencies (the rmw package pulls in the vendor package automatically). The RMW library and its ament-index marker install into /opt/ros/humble/, so once the environment is sourced only RMW_IMPLEMENTATION needs to be set.

Supported: jazzy / humble / rolling × amd64 / arm64. armhf is best-effort — there are no official ROS 2 armhf apt packages, so an armhf .deb only works on a system where ROS 2 was itself built from source for armhf.

To build the packages yourself: packaging/build-deb.sh <distro> <arch> (needs Docker; see packaging/ for the build and verification scripts).

Middleware library dependency

This package links against the closed-source int2DDS FFI library (libint2dds_ffi.so* and int2dds-ffi.h), which is provided by the int2dds_ffi_vendor package. The vendor package downloads the release artifact, verifies the selected library against the manifest, and exports the int2dds_ffi::int2dds_ffi CMake target used by this RMW package.

Test status

All results below were produced by running the listed suites directly; see doc/ for methodology. Same-vendor and cross-vendor integration tests use the official ROS 2 repositories (rmw_implementation, system_tests).

| Suite | Lyrical | Jazzy | Humble | |—|—|—|—|

File truncated at 100 lines see the full file

CONTRIBUTING

Contributing to rmw_int2dds_cpp

Thank you for your interest in contributing! This package is the ROS 2 RMW binding for int2DDS. For contributions to the underlying DDS core, see the int2DDS repository.

Code of Conduct

This project adheres to a Code of Conduct.

Contributor License Agreement (CLA)

By submitting a pull request you agree to the project CLA (individual / corporate).

Development Environment

Prerequisites

  • A supported ROS 2 distribution (Humble or Jazzy) installed and sourced
  • colcon build tool
  • A C++17 compiler (GCC/Clang/MSVC), CMake >= 3.14.4
  • The int2DDS core library available as a dependency

Workspace setup

mkdir -p ~/ros2_ws/src && cd ~/ros2_ws/src
git clone https://github.com/IntellectusCorp/rmw_int2dds.git
cd ~/ros2_ws
rosdep install --from-paths src --ignore-src -r -y

Building and Testing

# Build
colcon build --packages-up-to rmw_int2dds_cpp

# Run this package's tests
colcon test --packages-select rmw_int2dds_cpp
colcon test-result --verbose

# Run the RMW interface conformance suite against int2DDS
RMW_IMPLEMENTATION=rmw_int2dds_cpp \
  colcon test --packages-select test_rmw_implementation

Tier 3 listing requires the full test_rmw_implementation suite to pass.

Code Style

This package follows the ROS 2 Code Style and Language Versions guide:

  • C++17, max line length 100, .hpp/.cpp extensions
  • Linters run as tests via ament_lint_auto + ament_lint_common (ament_clang_format, ament_cpplint, ament_uncrustify, ament_cppcheck)
  • Build with -Wall -Wextra -Wpedantic
# Run linters
colcon test --packages-select rmw_int2dds_cpp --ctest-args -R lint

Commit Messages

Use the format TYPE: short description (max 72 chars), imperative mood. Types: FEAT, FIX, DOCS, STYLE, REFACTOR, TEST, CHORE, PERF. Reference issues with Fixes #123.

Branch Naming

feature/, fix/, hotfix/, docs/, refactor/, test/ prefixes; lowercase with hyphens (e.g., feature/qos-deadline).

Pull Request Process

  1. Rebase on the latest upstream/main.
  2. Ensure colcon build and colcon test pass, including linters.
  3. Update documentation and CHANGELOG.rst if behavior or APIs changed.
  4. Open a PR with a clear summary, rationale, and testing notes.
  5. Request review from maintainers.

Reporting Bugs

Open a GitHub issue with: description, reproduction steps, expected vs actual behavior, environment (OS, ROS 2 distro, int2DDS version), and logs. For security issues, follow SECURITY.md instead.

License

By contributing, you agree your contributions are licensed under the Apache License 2.0.

License of contributions

Any contribution that you make to this repository will be under the Apache 2 License, as dictated by that

File truncated at 100 lines see the full file

# Contributing to rmw_int2dds_cpp Thank you for your interest in contributing! This package is the ROS 2 RMW binding for int2DDS. For contributions to the underlying DDS core, see the [int2DDS](https://github.com/IntellectusCorp/int2DDS) repository. ## Code of Conduct This project adheres to a [Code of Conduct](CODE_OF_CONDUCT.md). ## Contributor License Agreement (CLA) By submitting a pull request you agree to the project CLA ([individual](CLA-Individual.md) / [corporate](CLA-Corporate.md)). ## Development Environment ### Prerequisites - A supported **ROS 2** distribution (Humble or Jazzy) installed and sourced - **colcon** build tool - A C++17 compiler (GCC/Clang/MSVC), CMake >= 3.14.4 - The **int2DDS** core library available as a dependency ### Workspace setup ```bash mkdir -p ~/ros2_ws/src && cd ~/ros2_ws/src git clone https://github.com/IntellectusCorp/rmw_int2dds.git cd ~/ros2_ws rosdep install --from-paths src --ignore-src -r -y ``` ## Building and Testing ```bash # Build colcon build --packages-up-to rmw_int2dds_cpp # Run this package's tests colcon test --packages-select rmw_int2dds_cpp colcon test-result --verbose # Run the RMW interface conformance suite against int2DDS RMW_IMPLEMENTATION=rmw_int2dds_cpp \ colcon test --packages-select test_rmw_implementation ``` > Tier 3 listing requires the full `test_rmw_implementation` suite to pass. ## Code Style This package follows the ROS 2 [Code Style and Language Versions](https://docs.ros.org/en/jazzy/The-ROS2-Project/Contributing/Code-Style-Language-Versions.html) guide: - C++17, max line length 100, `.hpp`/`.cpp` extensions - Linters run as tests via `ament_lint_auto` + `ament_lint_common` (`ament_clang_format`, `ament_cpplint`, `ament_uncrustify`, `ament_cppcheck`) - Build with `-Wall -Wextra -Wpedantic` ```bash # Run linters colcon test --packages-select rmw_int2dds_cpp --ctest-args -R lint ``` ## Commit Messages Use the format `TYPE: short description` (max 72 chars), imperative mood. Types: `FEAT`, `FIX`, `DOCS`, `STYLE`, `REFACTOR`, `TEST`, `CHORE`, `PERF`. Reference issues with `Fixes #123`. ## Branch Naming `feature/`, `fix/`, `hotfix/`, `docs/`, `refactor/`, `test/` prefixes; lowercase with hyphens (e.g., `feature/qos-deadline`). ## Pull Request Process 1. Rebase on the latest `upstream/main`. 2. Ensure `colcon build` and `colcon test` pass, including linters. 3. Update documentation and `CHANGELOG.rst` if behavior or APIs changed. 4. Open a PR with a clear summary, rationale, and testing notes. 5. Request review from maintainers. ## Reporting Bugs Open a GitHub issue with: description, reproduction steps, expected vs actual behavior, environment (OS, ROS 2 distro, int2DDS version), and logs. For security issues, follow [SECURITY.md](SECURITY.md) instead. ## License By contributing, you agree your contributions are licensed under the [Apache License 2.0](LICENSE). ## License of contributions Any contribution that you make to this repository will be under the Apache 2 License, as dictated by that File truncated at 100 lines [see the full file](https://github.com/IntellectusCorp/rmw_int2dds/tree/humble/CONTRIBUTING.md)
No version for distro melodic showing humble. Known supported distros are highlighted in the buttons above.
Repo symbol

rmw_int2dds repository

rmw_int2dds_cpp

ROS Distro
humble

Repository Summary

Checkout URI https://github.com/IntellectusCorp/rmw_int2dds.git
VCS Type git
VCS Version humble
Last Updated 2026-07-15
Dev Status DEVELOPED
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Packages

Name Version
rmw_int2dds_cpp 0.1.0

README

ROS 2 RMW for int2DDS

A **ROS 2 RMW implementation** that binds the **int2DDS** DDS/RTPS middleware to the ROS 2 middleware (RMW) interface.

Overview

rmw_int2dds_cpp lets ROS 2 applications run on top of int2DDS, a Rust implementation of the OMG DDS standard (RTPS 2.5). It implements the ROS 2 rmw C interface so that any ROS 2 stack (rclcpp, rclpy, ros2 CLI, tools) can use int2DDS as its middleware via RMW_IMPLEMENTATION=rmw_int2dds_cpp.

Status: work in progress — APIs and test results are being stabilized ahead of a request for Tier 3 status in REP 2000.

Supported ROS 2 distributions

Distribution Status
Humble Hawksbill (LTS) Supported (verified)
Jazzy Jalisco (LTS) Supported (verified)
Lyrical Luth (LTS) Supported (verified)

Supported platforms

Platform Architectures Status
Ubuntu (Linux) amd64 Supported (verified)
Ubuntu (Linux) arm64 Target (library builds; board validation pending)

Quick Start

# 1) Get the sources into your ROS 2 workspace
mkdir -p ~/ros2_ws/src && cd ~/ros2_ws/src
git clone -b humble https://github.com/IntellectusCorp/rmw_int2dds.git
git clone https://github.com/IntellectusCorp/int2dds_ffi_vendor.git

# 2) Build
cd ~/ros2_ws
source /opt/ros/humble/setup.bash
colcon build --packages-up-to rmw_int2dds_cpp
source install/setup.bash

# 3) Select int2DDS as the middleware
export RMW_IMPLEMENTATION=rmw_int2dds_cpp

# 4) Run any ROS 2 demo
ros2 run demo_nodes_cpp talker
# in another terminal (same RMW_IMPLEMENTATION):
ros2 run demo_nodes_cpp listener

Binary install (.deb)

Prebuilt packages let you skip colcon build. Download the two .debs for your distro + architecture from the Releases page, then:

sudo apt install ./ros-humble-int2dds-ffi-vendor_*_amd64.deb \
                 ./ros-humble-rmw-int2dds-cpp_*_amd64.deb
source /opt/ros/humble/setup.bash
export RMW_IMPLEMENTATION=rmw_int2dds_cpp
ros2 run demo_nodes_cpp talker

apt install ./file.deb installs the file and resolves its dependencies (the rmw package pulls in the vendor package automatically). The RMW library and its ament-index marker install into /opt/ros/humble/, so once the environment is sourced only RMW_IMPLEMENTATION needs to be set.

Supported: jazzy / humble / rolling × amd64 / arm64. armhf is best-effort — there are no official ROS 2 armhf apt packages, so an armhf .deb only works on a system where ROS 2 was itself built from source for armhf.

To build the packages yourself: packaging/build-deb.sh <distro> <arch> (needs Docker; see packaging/ for the build and verification scripts).

Middleware library dependency

This package links against the closed-source int2DDS FFI library (libint2dds_ffi.so* and int2dds-ffi.h), which is provided by the int2dds_ffi_vendor package. The vendor package downloads the release artifact, verifies the selected library against the manifest, and exports the int2dds_ffi::int2dds_ffi CMake target used by this RMW package.

Test status

All results below were produced by running the listed suites directly; see doc/ for methodology. Same-vendor and cross-vendor integration tests use the official ROS 2 repositories (rmw_implementation, system_tests).

| Suite | Lyrical | Jazzy | Humble | |—|—|—|—|

File truncated at 100 lines see the full file

CONTRIBUTING

Contributing to rmw_int2dds_cpp

Thank you for your interest in contributing! This package is the ROS 2 RMW binding for int2DDS. For contributions to the underlying DDS core, see the int2DDS repository.

Code of Conduct

This project adheres to a Code of Conduct.

Contributor License Agreement (CLA)

By submitting a pull request you agree to the project CLA (individual / corporate).

Development Environment

Prerequisites

  • A supported ROS 2 distribution (Humble or Jazzy) installed and sourced
  • colcon build tool
  • A C++17 compiler (GCC/Clang/MSVC), CMake >= 3.14.4
  • The int2DDS core library available as a dependency

Workspace setup

mkdir -p ~/ros2_ws/src && cd ~/ros2_ws/src
git clone https://github.com/IntellectusCorp/rmw_int2dds.git
cd ~/ros2_ws
rosdep install --from-paths src --ignore-src -r -y

Building and Testing

# Build
colcon build --packages-up-to rmw_int2dds_cpp

# Run this package's tests
colcon test --packages-select rmw_int2dds_cpp
colcon test-result --verbose

# Run the RMW interface conformance suite against int2DDS
RMW_IMPLEMENTATION=rmw_int2dds_cpp \
  colcon test --packages-select test_rmw_implementation

Tier 3 listing requires the full test_rmw_implementation suite to pass.

Code Style

This package follows the ROS 2 Code Style and Language Versions guide:

  • C++17, max line length 100, .hpp/.cpp extensions
  • Linters run as tests via ament_lint_auto + ament_lint_common (ament_clang_format, ament_cpplint, ament_uncrustify, ament_cppcheck)
  • Build with -Wall -Wextra -Wpedantic
# Run linters
colcon test --packages-select rmw_int2dds_cpp --ctest-args -R lint

Commit Messages

Use the format TYPE: short description (max 72 chars), imperative mood. Types: FEAT, FIX, DOCS, STYLE, REFACTOR, TEST, CHORE, PERF. Reference issues with Fixes #123.

Branch Naming

feature/, fix/, hotfix/, docs/, refactor/, test/ prefixes; lowercase with hyphens (e.g., feature/qos-deadline).

Pull Request Process

  1. Rebase on the latest upstream/main.
  2. Ensure colcon build and colcon test pass, including linters.
  3. Update documentation and CHANGELOG.rst if behavior or APIs changed.
  4. Open a PR with a clear summary, rationale, and testing notes.
  5. Request review from maintainers.

Reporting Bugs

Open a GitHub issue with: description, reproduction steps, expected vs actual behavior, environment (OS, ROS 2 distro, int2DDS version), and logs. For security issues, follow SECURITY.md instead.

License

By contributing, you agree your contributions are licensed under the Apache License 2.0.

License of contributions

Any contribution that you make to this repository will be under the Apache 2 License, as dictated by that

File truncated at 100 lines see the full file

# Contributing to rmw_int2dds_cpp Thank you for your interest in contributing! This package is the ROS 2 RMW binding for int2DDS. For contributions to the underlying DDS core, see the [int2DDS](https://github.com/IntellectusCorp/int2DDS) repository. ## Code of Conduct This project adheres to a [Code of Conduct](CODE_OF_CONDUCT.md). ## Contributor License Agreement (CLA) By submitting a pull request you agree to the project CLA ([individual](CLA-Individual.md) / [corporate](CLA-Corporate.md)). ## Development Environment ### Prerequisites - A supported **ROS 2** distribution (Humble or Jazzy) installed and sourced - **colcon** build tool - A C++17 compiler (GCC/Clang/MSVC), CMake >= 3.14.4 - The **int2DDS** core library available as a dependency ### Workspace setup ```bash mkdir -p ~/ros2_ws/src && cd ~/ros2_ws/src git clone https://github.com/IntellectusCorp/rmw_int2dds.git cd ~/ros2_ws rosdep install --from-paths src --ignore-src -r -y ``` ## Building and Testing ```bash # Build colcon build --packages-up-to rmw_int2dds_cpp # Run this package's tests colcon test --packages-select rmw_int2dds_cpp colcon test-result --verbose # Run the RMW interface conformance suite against int2DDS RMW_IMPLEMENTATION=rmw_int2dds_cpp \ colcon test --packages-select test_rmw_implementation ``` > Tier 3 listing requires the full `test_rmw_implementation` suite to pass. ## Code Style This package follows the ROS 2 [Code Style and Language Versions](https://docs.ros.org/en/jazzy/The-ROS2-Project/Contributing/Code-Style-Language-Versions.html) guide: - C++17, max line length 100, `.hpp`/`.cpp` extensions - Linters run as tests via `ament_lint_auto` + `ament_lint_common` (`ament_clang_format`, `ament_cpplint`, `ament_uncrustify`, `ament_cppcheck`) - Build with `-Wall -Wextra -Wpedantic` ```bash # Run linters colcon test --packages-select rmw_int2dds_cpp --ctest-args -R lint ``` ## Commit Messages Use the format `TYPE: short description` (max 72 chars), imperative mood. Types: `FEAT`, `FIX`, `DOCS`, `STYLE`, `REFACTOR`, `TEST`, `CHORE`, `PERF`. Reference issues with `Fixes #123`. ## Branch Naming `feature/`, `fix/`, `hotfix/`, `docs/`, `refactor/`, `test/` prefixes; lowercase with hyphens (e.g., `feature/qos-deadline`). ## Pull Request Process 1. Rebase on the latest `upstream/main`. 2. Ensure `colcon build` and `colcon test` pass, including linters. 3. Update documentation and `CHANGELOG.rst` if behavior or APIs changed. 4. Open a PR with a clear summary, rationale, and testing notes. 5. Request review from maintainers. ## Reporting Bugs Open a GitHub issue with: description, reproduction steps, expected vs actual behavior, environment (OS, ROS 2 distro, int2DDS version), and logs. For security issues, follow [SECURITY.md](SECURITY.md) instead. ## License By contributing, you agree your contributions are licensed under the [Apache License 2.0](LICENSE). ## License of contributions Any contribution that you make to this repository will be under the Apache 2 License, as dictated by that File truncated at 100 lines [see the full file](https://github.com/IntellectusCorp/rmw_int2dds/tree/humble/CONTRIBUTING.md)
No version for distro noetic showing humble. Known supported distros are highlighted in the buttons above.
Repo symbol

rmw_int2dds repository

rmw_int2dds_cpp

ROS Distro
humble

Repository Summary

Checkout URI https://github.com/IntellectusCorp/rmw_int2dds.git
VCS Type git
VCS Version humble
Last Updated 2026-07-15
Dev Status DEVELOPED
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Packages

Name Version
rmw_int2dds_cpp 0.1.0

README

ROS 2 RMW for int2DDS

A **ROS 2 RMW implementation** that binds the **int2DDS** DDS/RTPS middleware to the ROS 2 middleware (RMW) interface.

Overview

rmw_int2dds_cpp lets ROS 2 applications run on top of int2DDS, a Rust implementation of the OMG DDS standard (RTPS 2.5). It implements the ROS 2 rmw C interface so that any ROS 2 stack (rclcpp, rclpy, ros2 CLI, tools) can use int2DDS as its middleware via RMW_IMPLEMENTATION=rmw_int2dds_cpp.

Status: work in progress — APIs and test results are being stabilized ahead of a request for Tier 3 status in REP 2000.

Supported ROS 2 distributions

Distribution Status
Humble Hawksbill (LTS) Supported (verified)
Jazzy Jalisco (LTS) Supported (verified)
Lyrical Luth (LTS) Supported (verified)

Supported platforms

Platform Architectures Status
Ubuntu (Linux) amd64 Supported (verified)
Ubuntu (Linux) arm64 Target (library builds; board validation pending)

Quick Start

# 1) Get the sources into your ROS 2 workspace
mkdir -p ~/ros2_ws/src && cd ~/ros2_ws/src
git clone -b humble https://github.com/IntellectusCorp/rmw_int2dds.git
git clone https://github.com/IntellectusCorp/int2dds_ffi_vendor.git

# 2) Build
cd ~/ros2_ws
source /opt/ros/humble/setup.bash
colcon build --packages-up-to rmw_int2dds_cpp
source install/setup.bash

# 3) Select int2DDS as the middleware
export RMW_IMPLEMENTATION=rmw_int2dds_cpp

# 4) Run any ROS 2 demo
ros2 run demo_nodes_cpp talker
# in another terminal (same RMW_IMPLEMENTATION):
ros2 run demo_nodes_cpp listener

Binary install (.deb)

Prebuilt packages let you skip colcon build. Download the two .debs for your distro + architecture from the Releases page, then:

sudo apt install ./ros-humble-int2dds-ffi-vendor_*_amd64.deb \
                 ./ros-humble-rmw-int2dds-cpp_*_amd64.deb
source /opt/ros/humble/setup.bash
export RMW_IMPLEMENTATION=rmw_int2dds_cpp
ros2 run demo_nodes_cpp talker

apt install ./file.deb installs the file and resolves its dependencies (the rmw package pulls in the vendor package automatically). The RMW library and its ament-index marker install into /opt/ros/humble/, so once the environment is sourced only RMW_IMPLEMENTATION needs to be set.

Supported: jazzy / humble / rolling × amd64 / arm64. armhf is best-effort — there are no official ROS 2 armhf apt packages, so an armhf .deb only works on a system where ROS 2 was itself built from source for armhf.

To build the packages yourself: packaging/build-deb.sh <distro> <arch> (needs Docker; see packaging/ for the build and verification scripts).

Middleware library dependency

This package links against the closed-source int2DDS FFI library (libint2dds_ffi.so* and int2dds-ffi.h), which is provided by the int2dds_ffi_vendor package. The vendor package downloads the release artifact, verifies the selected library against the manifest, and exports the int2dds_ffi::int2dds_ffi CMake target used by this RMW package.

Test status

All results below were produced by running the listed suites directly; see doc/ for methodology. Same-vendor and cross-vendor integration tests use the official ROS 2 repositories (rmw_implementation, system_tests).

| Suite | Lyrical | Jazzy | Humble | |—|—|—|—|

File truncated at 100 lines see the full file

CONTRIBUTING

Contributing to rmw_int2dds_cpp

Thank you for your interest in contributing! This package is the ROS 2 RMW binding for int2DDS. For contributions to the underlying DDS core, see the int2DDS repository.

Code of Conduct

This project adheres to a Code of Conduct.

Contributor License Agreement (CLA)

By submitting a pull request you agree to the project CLA (individual / corporate).

Development Environment

Prerequisites

  • A supported ROS 2 distribution (Humble or Jazzy) installed and sourced
  • colcon build tool
  • A C++17 compiler (GCC/Clang/MSVC), CMake >= 3.14.4
  • The int2DDS core library available as a dependency

Workspace setup

mkdir -p ~/ros2_ws/src && cd ~/ros2_ws/src
git clone https://github.com/IntellectusCorp/rmw_int2dds.git
cd ~/ros2_ws
rosdep install --from-paths src --ignore-src -r -y

Building and Testing

# Build
colcon build --packages-up-to rmw_int2dds_cpp

# Run this package's tests
colcon test --packages-select rmw_int2dds_cpp
colcon test-result --verbose

# Run the RMW interface conformance suite against int2DDS
RMW_IMPLEMENTATION=rmw_int2dds_cpp \
  colcon test --packages-select test_rmw_implementation

Tier 3 listing requires the full test_rmw_implementation suite to pass.

Code Style

This package follows the ROS 2 Code Style and Language Versions guide:

  • C++17, max line length 100, .hpp/.cpp extensions
  • Linters run as tests via ament_lint_auto + ament_lint_common (ament_clang_format, ament_cpplint, ament_uncrustify, ament_cppcheck)
  • Build with -Wall -Wextra -Wpedantic
# Run linters
colcon test --packages-select rmw_int2dds_cpp --ctest-args -R lint

Commit Messages

Use the format TYPE: short description (max 72 chars), imperative mood. Types: FEAT, FIX, DOCS, STYLE, REFACTOR, TEST, CHORE, PERF. Reference issues with Fixes #123.

Branch Naming

feature/, fix/, hotfix/, docs/, refactor/, test/ prefixes; lowercase with hyphens (e.g., feature/qos-deadline).

Pull Request Process

  1. Rebase on the latest upstream/main.
  2. Ensure colcon build and colcon test pass, including linters.
  3. Update documentation and CHANGELOG.rst if behavior or APIs changed.
  4. Open a PR with a clear summary, rationale, and testing notes.
  5. Request review from maintainers.

Reporting Bugs

Open a GitHub issue with: description, reproduction steps, expected vs actual behavior, environment (OS, ROS 2 distro, int2DDS version), and logs. For security issues, follow SECURITY.md instead.

License

By contributing, you agree your contributions are licensed under the Apache License 2.0.

License of contributions

Any contribution that you make to this repository will be under the Apache 2 License, as dictated by that

File truncated at 100 lines see the full file

# Contributing to rmw_int2dds_cpp Thank you for your interest in contributing! This package is the ROS 2 RMW binding for int2DDS. For contributions to the underlying DDS core, see the [int2DDS](https://github.com/IntellectusCorp/int2DDS) repository. ## Code of Conduct This project adheres to a [Code of Conduct](CODE_OF_CONDUCT.md). ## Contributor License Agreement (CLA) By submitting a pull request you agree to the project CLA ([individual](CLA-Individual.md) / [corporate](CLA-Corporate.md)). ## Development Environment ### Prerequisites - A supported **ROS 2** distribution (Humble or Jazzy) installed and sourced - **colcon** build tool - A C++17 compiler (GCC/Clang/MSVC), CMake >= 3.14.4 - The **int2DDS** core library available as a dependency ### Workspace setup ```bash mkdir -p ~/ros2_ws/src && cd ~/ros2_ws/src git clone https://github.com/IntellectusCorp/rmw_int2dds.git cd ~/ros2_ws rosdep install --from-paths src --ignore-src -r -y ``` ## Building and Testing ```bash # Build colcon build --packages-up-to rmw_int2dds_cpp # Run this package's tests colcon test --packages-select rmw_int2dds_cpp colcon test-result --verbose # Run the RMW interface conformance suite against int2DDS RMW_IMPLEMENTATION=rmw_int2dds_cpp \ colcon test --packages-select test_rmw_implementation ``` > Tier 3 listing requires the full `test_rmw_implementation` suite to pass. ## Code Style This package follows the ROS 2 [Code Style and Language Versions](https://docs.ros.org/en/jazzy/The-ROS2-Project/Contributing/Code-Style-Language-Versions.html) guide: - C++17, max line length 100, `.hpp`/`.cpp` extensions - Linters run as tests via `ament_lint_auto` + `ament_lint_common` (`ament_clang_format`, `ament_cpplint`, `ament_uncrustify`, `ament_cppcheck`) - Build with `-Wall -Wextra -Wpedantic` ```bash # Run linters colcon test --packages-select rmw_int2dds_cpp --ctest-args -R lint ``` ## Commit Messages Use the format `TYPE: short description` (max 72 chars), imperative mood. Types: `FEAT`, `FIX`, `DOCS`, `STYLE`, `REFACTOR`, `TEST`, `CHORE`, `PERF`. Reference issues with `Fixes #123`. ## Branch Naming `feature/`, `fix/`, `hotfix/`, `docs/`, `refactor/`, `test/` prefixes; lowercase with hyphens (e.g., `feature/qos-deadline`). ## Pull Request Process 1. Rebase on the latest `upstream/main`. 2. Ensure `colcon build` and `colcon test` pass, including linters. 3. Update documentation and `CHANGELOG.rst` if behavior or APIs changed. 4. Open a PR with a clear summary, rationale, and testing notes. 5. Request review from maintainers. ## Reporting Bugs Open a GitHub issue with: description, reproduction steps, expected vs actual behavior, environment (OS, ROS 2 distro, int2DDS version), and logs. For security issues, follow [SECURITY.md](SECURITY.md) instead. ## License By contributing, you agree your contributions are licensed under the [Apache License 2.0](LICENSE). ## License of contributions Any contribution that you make to this repository will be under the Apache 2 License, as dictated by that File truncated at 100 lines [see the full file](https://github.com/IntellectusCorp/rmw_int2dds/tree/humble/CONTRIBUTING.md)