rusteron-code-gen

Crates.iorusteron-code-gen
lib.rsrusteron-code-gen
version0.1.154
created_at2024-10-26 02:51:07.047293+00
updated_at2025-09-13 10:51:26.991615+00
descriptionCode generator for Aeron C bindings
homepagehttps://github.com/gsrxyz/rusteron
repositoryhttps://github.com/gsrxyz/rusteron
max_upload_size
id1423499
size1,592,831
XpertWizard (mimran1980)

documentation

https://gsrxyz.github.io/rusteron/rusteron_code_gen

README

rusteron-code-gen

rusteron-code-gen is an internal code generation tool used within the Rusteron project.
It automates the creation of Rust bindings from Aeron’s C APIs, reducing manual effort and ensuring consistent wrapper interfaces across the rusteron-* crates.


Purpose

Aeron's C APIs follow predictable structural patterns. This tool parses those C headers and uses templates to emit Rust wrappers around the raw FFI layer. It is primarily used to generate:

  • rusteron-client
  • rusteron-archive
  • rusteron-media-driver

By automating this step, we reduce maintenance cost and improve reliability when tracking upstream changes in Aeron.

Note: This crate is not intended for standalone use outside the Rusteron project.


Features

  • Automated Code Generation – Converts Aeron C headers into Rust-safe APIs.
  • Pattern-Based Templating – Leverages Aeron’s consistent structure to minimize boilerplate.
  • Integration-Friendly – Output is directly used in production modules of the Rusteron stack.

Usage

This crate is used via internal tooling (e.g. in just scripts or CI pipelines) and is not meant to be added as a dependency in consumer projects.


Safety Considerations

Generated code includes unsafe blocks where necessary to interface with Aeron’s low-level constructs.
While much of the generation is automated, occasional manual review and patching may be required to ensure correctness, especially when Aeron introduces API changes.

Commit count: 699

cargo fmt