szaszm commented on code in PR #2186:
URL: https://github.com/apache/nifi-minifi-cpp/pull/2186#discussion_r3646897270


##########
minifi_rust/README.md:
##########
@@ -0,0 +1,106 @@
+# MiNiFi Native Rust (tech preview)
+
+> ⚠️ **Tech Preview**
+>
+> Only the **Rust bindings** are a technology preview. The Rust source API
+> (both the `minifi-native` safe API and the `minifi-native-sys` FFI layer)
+> is still evolving, and we are **not yet committed to source-level backward
+> compatibility** for the Rust bindings — expect breaking changes in the
+> Rust API between MiNiFi C++ releases until the bindings are declared
+> stable.
+>
+> Under the hood, the bindings target the **stable MiNiFi C API**, which
+> **does** provide ABI backward compatibility. This means the compiled artifact
+> is unaffected by Rust-side churn: an extension built against an older
+> version of these bindings will keep loading into newer MiNiFi C++
+> releases. You only need to rebuild against the new bindings if you want
+> to pick up new Rust API features — upgrading the agent alone does not
+> force a rebuild.
+
+This project provides a safe, idiomatic, and high-performance Rust framework 
for building native extensions (processors) for [Apache NiFi MiNiFi 
C++](https://github.com/apache/nifi-minifi-cpp).
+
+It is designed to offer a robust developer experience, allowing you to write 
powerful and reliable data processing components in safe Rust.
+
+The framework completely encapsulates the unsafe C FFI (Foreign Function 
Interface) boundary, providing a pure Rust API that is fully mockable for unit 
testing.
+
+## Project Philosophy
+ - **Safety First**: Leverage Rust's compile-time guarantees to prevent common 
bugs like null pointers, buffer overflows, and data races.
+ - **Zero-Cost Abstraction**: The safe API wrapper is designed to compile down 
with zero runtime overhead compared to writing raw C code.

Review Comment:
   I believe this zero-cost claim doesn't hold: InputStreams contain extra 
buffers, registrations use heap allocations, and there are probably other 
abstraction costs.



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to