SkillAgentSearch skills...

Iceoryx2

Eclipse iceoryx2™ - true zero-copy inter-process-communication with a Rust core

Install / Use

/learn @eclipse-iceoryx/Iceoryx2

README

<!-- markdownlint-disable -->

CI Codecov Examples FAQ Gitter Developer Meetup Roadmap

<p align="center"> <img src="https://github.com/eclipse-iceoryx/iceoryx2/assets/56729169/3230a125-19e5-4e98-a752-da026a086782" width="50%"> </p> <!-- markdownlint-enable -->

iceoryx2 - Zero-Copy Lock-Free IPC with a Rust Core

Introduction

Welcome to iceoryx2, the efficient, and ultra-low latency inter-process communication middleware. This library is designed to provide you with fast and reliable zero-copy and lock-free inter-process communication mechanisms.

So if you want to communicate efficiently between multiple processes or applications iceoryx2 is for you. With iceoryx2, you can:

  • Send huge amounts of data using a publish/subscribe, request/response, pipeline (planned) or blackboard pattern, making it ideal for scenarios where large datasets need to be shared.
  • Exchange signals through events, enabling quick and reliable signaling between processes.

iceoryx2 is based on a service-oriented architecture (SOA) and facilitates seamless inter-process communication (IPC).

It is all about providing a seamless experience for inter-process communication, featuring versatile messaging patterns. Whether you're diving into publish-subscribe, events, request-response, or the promise of upcoming features like pipelines, and blackboard, iceoryx2 has you covered.

One of the features of iceoryx2 is its consistently low transmission latency regardless of payload size, ensuring a predictable and reliable communication experience.

iceoryx2's origins can be traced back to iceoryx. By overcoming past technical debts and refining the architecture, iceoryx2 enables the modularity we've always desired.

In the near future, iceoryx2 is poised to support at least the same feature set and platforms as iceoryx, ensuring a seamless transition and offering enhanced capabilities for your inter-process communication needs. So, if you're looking for lightning-fast, cross-platform communication that doesn't compromise on performance or modularity, iceoryx2 is your answer.

Feel free to join the Gitter Chat or the Developer Meetup if you want to have a chat with the developers of iceoryx.

Performance

Comparison Of Mechanisms

benchmark of different mechanism

Benchmark-System

  • CPU: Intel i7 13700h
  • OS: Linux 6.10.10-arch1-1 #1 SMP PREEMPT_DYNAMIC
  • Compiler:
    • rustc 1.81.0
    • gcc 14.2.1 20240910

Comparison Of Architectures

benchmark on different systems

Documentation

User Documentation

Contributor Documentation

API References

Supported Platforms

The support levels can be adjusted when required.

| Operating System | State | Current Support Level | Target Support Level | | ---------------- | :----------------------- | :-------------------: | -------------------: | | Android | proof-of-concept[^1] | - | tier 1 | | Bare Metal | proof-of-concept[^2] | - | tier 1 | | FreeBSD | done | tier 2 | tier 1 | | FreeRTOS | planned | - | tier 2 | | ThreadX | planned | - | tier 2 | | iOS | planned | - | tier 2 | | Linux (x86_64) | done | tier 2 | tier 1 | | Linux (aarch64) | done | tier 2 | tier 1 | | Linux (32-bit) | done | tier 2 | tier 1 | | Mac OS | done | tier 2 | tier 2 | | QNX 7.1 | done | tier 3 | tier 1 | | QNX 8.0 | done | tier 3 | tier 1 | | RTEMS | planned | - | tier 2 | | Redox OS | planned | - | tier 2 | | VxWorks | proof-of-concept[^3] | - | tier 1 | | WatchOS | planned | - | tier 2 | | Windows | done | tier 2 | tier 2 |

[^1]: A proof-of-concept for Android platform support is available. Currently only local, inter-thread communication works. [^2]: A proof-of-concept with no_std bare-metal support is available. The event messaging-pattern does not yet work and the memory usage is not yet optimized. [^3]: A proof-of-concept for VxWorks platform support is available on this branch on the ekxide fork

  • tier 1 - All safety and security features are working.
  • tier 2 - Works with a restricted security and safety feature set.
  • tier 3 - Not tested in our CI, so may or may not compile and run.
<!-- markdownlint-disable MD027 -->

[!NOTE] Some commercial operating systems require expensive licenses and the support for these platforms relies on funding for the license costs.

<!-- markdownlint-enable MD027 --> <!-- markdownlint-disable MD027 -->

[!NOTE] Yocto recipes are available at meta-iceoryx2

<!-- markdownlint-enable MD027 -->

Language Bindings

| Language | State | | :--------- | ----------------------------------------------------------------: | | C | done | | C++ | done | | C# | done[^4] | | Dart | planned | | Go | planned | | Java | planned | | Kotlin | planned | | Lua | planned | | Python | done | | Swift | planned | | Typescript | planned | | Zig | planned |

[^4]: C# bindings are available in a separate repository. May not be up to date with main.

Commercial Support

<!-- prettier-ignore-start --> <!-- markdownlint-disable --> <table width="100%"> <tbody> <tr> <td align="center" valign="top" width="33%"> <a href="https://ekxide.io"> <img src="https://github.com/eclipse-iceoryx/iceoryx2/assets/56729169/c3ce8370-6cef-4c31-8259-93ddaa61c43e" alt="ekxide IO GmbH"/><br /> </a> <a href="mailto:info@ekxide.io">info@ekxide.io</a> </td> <td> <ul> <li>commercial extensions and tooling</li> <li>custom feature development</li> <li>training and consulting</li> <li>integration support</li> <li>engineering services around the iceoryx ecosystem</li> </ul> </td> </tr> </tbody> </table> <!-- markdownli
View on GitHub
GitHub Stars2.1k
CategoryDevelopment
Updated9h ago
Forks135

Languages

Rust

Security Score

100/100

Audited on Mar 31, 2026

No findings