Scope
<p>Eclipse LunaDDS builds upon the DDS (Data Distribution Service) standard, offering targeted improvements to Eclipse CycloneDDS. Its primary goals include:</p><p><strong>CycloneDDS Extensions</strong></p><ul><li>Zero-copy inter-process communication for improved middleware performance.</li><li>Inter-thread communication for efficient data exchange within applications.</li><li>Cross-machine communication over Ethernet.</li><li>Rust Pub/Sub API for modern language integration <em>(planned)</em> .</li><li>Supported target platforms: QNX 7, x86_64 Linux, and aarch64.</li><li>Bazel build system for scalable and reproducible builds.</li><li>Performance optimizations, including memory mapping using huge pages, lock-free data access patterns, optional bypass of the standard DDS data path to reduce serialization overhead for critical applications.</li></ul><p><strong>IDL Code Generator</strong></p><ul><li>A flexible toolset designed to simplify service definition and code generation:</li><li>Generates RPC-style proxies and skeletons using Jinja2 templates.</li><li>Provides familiar method-call semantics for automotive developers.</li><li>Supports automatic type conversion between IDL and C++ (e.g., <code>Boolean → bool</code>).</li><li>Enables file-based service definitions with a simple syntax.</li><li>Offers customizable output directories.</li><li>Includes robust error handling and validation.Supports complex data types and method signatures.</li></ul>