iceoryx

iceoryx2

Written in

C++ Rust

Has true zero-copy data transport

yes yes

Requires a central daemon

yes no

Messaging pattern

  • publish-subscribe
  • request-response
  • publish-subscribe
  • request-response (planned)
  • pipeline (planned)
  • blackboard (planned)

Notification mechanisms

  • polling
  • events
  • polling
  • events

Platforms

  • Linux
  • Windows
  • macOS
  • FreeBSD
  • QNX (no CI target)
  • FreeRTOS (no CI target)
  • Linux
  • Windows
  • macOS
  • FreeBSD
  • Android (planned)
  • QNX (planned)
  • FreeRTOS (planned)
  • VxWorks (planned)

Language bindings

  • C
  • Rust (partial)
  • C and C++ (planned)
  • Python (planned)
  • C# (planned)
  • and more

Host-to-Host communication

via DDS planed

Gateway support

  • DDS gateway (partial)
  • custom gateways
  • DDS (planned)
  • gRPC (planned)
  • Zenoh (planned)
  • custom gateways

Extensibility

hard due to non-modular design modular design allows custom extension, e.g. GPUs and Hypervisors
Continue with iceoryx Continue with iceoryx2

Fast

Flexible

Dependable

  • True zero-copy shared memory communication
  • Message transfers with a latency of less than 1 µs
  • Made to handle GBytes/sec data transfers
  • Support of various operating systems, communication patterns and APIs
  • Service discovery enables the design of dynamic systems
  • Easy to integrate into frameworks like ROS 2 or AUTOSAR Adaptive
  • Developed according to modern safety standards
  • Implementation based on static memory and lock-free algorithms
  • Huge C++ library with safe STL implementations

Commercial support

ekxide IO GmbH
info@ekxide.io
  • commercial extensions and tooling
  • custom feature development
  • training and consulting
  • integration support
  • engineering services around the iceoryx ecosystem