stdiobus-backend-native 1.0.2

Native FFI backend for stdio_bus - direct C library integration
Documentation

stdiobus-backend-native

Crates.io License

Native FFI backend for stdio_bus - direct C library integration.

This crate provides a native backend that links directly to libstdio_bus.a via FFI. It offers the best performance but requires building the C library.

Installation

[dependencies]
stdiobus-backend-native = "1.0"

Prerequisites

Build libstdio_bus.a from the main repository:

git clone https://github.com/stdiobus/stdiobus-rust
cd stdiobus-rust
make lib

export STDIO_BUS_LIB_DIR=$(pwd)/build

Usage

Most users should use stdiobus-client with the native feature:

use stdiobus_client::StdioBus;

let bus = StdioBus::builder()
    .config_path("./config.json")
    .backend_native()
    .build()?;

Direct Usage

use stdiobus_backend_native::NativeBackend;

let backend = NativeBackend::new("./config.json")?;

backend.start().await?;

Platform Support

Platform Status
Linux x64/arm64
macOS x64/arm64
Windows ✘ (use Docker backend)

License

Apache-2.0