This is the FFI layer for the Flipt client-side SDKs. It is written in Rust and exposes a C API for the SDKs to use.
It leverages the flipt-evaluation library to perform the actual evaluation.
See ARCHITECTURE.md.
cargo build -p flipt-engine-ffi --releaseThere are some language SDKs that might require a C file header which has the definitions of the functions accessible through the FFI layer.
We use cbindgen to generate the C file header automatically at build time. The generated header is located in the include directory.
The FFI layer uses the log and env_logger crates for logging. The FLIPT_ENGINE_LOG environment variable can be used to set the log level.
export FLIPT_ENGINE_LOG=debugcargo test -p flipt-engine-ffi