From 1d8b8024ae8e799eb540ea70109bab071b2ab64e Mon Sep 17 00:00:00 2001 From: Prajwal Banakar Date: Tue, 24 Mar 2026 13:41:13 +0000 Subject: [PATCH 1/2] [docs] Add C++ client documentation --- website/docs/apis/client-support-matrix.md | 2 +- website/docs/apis/cpp-client.md | 58 ++++++++++++++++++++++ 2 files changed, 59 insertions(+), 1 deletion(-) create mode 100644 website/docs/apis/cpp-client.md diff --git a/website/docs/apis/client-support-matrix.md b/website/docs/apis/client-support-matrix.md index 15b9b3dcf6..cb932f2d42 100644 --- a/website/docs/apis/client-support-matrix.md +++ b/website/docs/apis/client-support-matrix.md @@ -1,6 +1,6 @@ --- title: "Client Support Matrix" -sidebar_position: 4 +sidebar_position: 5 --- # Client Feature Support Matrix diff --git a/website/docs/apis/cpp-client.md b/website/docs/apis/cpp-client.md new file mode 100644 index 0000000000..8ed26147fc --- /dev/null +++ b/website/docs/apis/cpp-client.md @@ -0,0 +1,58 @@ +--- +title: "C++ Client" +sidebar_position: 4 +--- + +# Fluss C++ Client + +The Fluss C++ Client provides a high-performance, synchronous interface for +interacting with Fluss clusters. It manages an internal Tokio runtime and +supports Apache Arrow for efficient data interchange. + +The client provides two main APIs: + +- **[Admin API](https://clients.fluss.apache.org/user-guide/cpp/api-reference#admin)**: For managing databases, tables, and partitions. +- **[Table API](https://clients.fluss.apache.org/user-guide/cpp/api-reference#table)**: For reading and writing to Log and Primary Key tables. + +## Installation + +The C++ client is not yet published as a package and must be built from source. + +**Prerequisites:** CMake 3.22+, C++17 compiler, Rust 1.85+, Apache Arrow C++ library +```bash +git clone https://github.com/apache/fluss-rust.git +cd fluss-rust/bindings/cpp +mkdir -p build && cd build +cmake -DCMAKE_BUILD_TYPE=Release .. +cmake --build . +``` + +## Quick Example +```cpp +#include "fluss.hpp" + +int main() { + fluss::Configuration config; + config.bootstrap_servers = "127.0.0.1:9123"; + + fluss::Connection conn; + fluss::Result result = fluss::Connection::Create(config, conn); + if (!result.Ok()) { + std::cerr << "Connection failed: " << result.error_message << std::endl; + return 1; + } + + fluss::Admin admin; + conn.GetAdmin(admin); + + return 0; +} +``` + +For more examples, see the [Fluss C++ Client documentation](https://clients.fluss.apache.org/user-guide/cpp/example/). + +## Full Documentation + +For the complete C++ client reference including all configuration options, +API methods, data types, error handling, and worked examples — see the +**[Fluss C++ Client documentation](https://clients.fluss.apache.org/user-guide/cpp/installation)**. \ No newline at end of file From ce6b60138f4a82c53b8af655013409f6ba5af160 Mon Sep 17 00:00:00 2001 From: Prajwal Banakar Date: Sun, 29 Mar 2026 13:47:57 +0000 Subject: [PATCH 2/2] [docs] Add C++ client documentation --- website/docs/apis/cpp-client.md | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/website/docs/apis/cpp-client.md b/website/docs/apis/cpp-client.md index 8ed26147fc..420ea6f099 100644 --- a/website/docs/apis/cpp-client.md +++ b/website/docs/apis/cpp-client.md @@ -19,6 +19,15 @@ The client provides two main APIs: The C++ client is not yet published as a package and must be built from source. **Prerequisites:** CMake 3.22+, C++17 compiler, Rust 1.85+, Apache Arrow C++ library + +Install dependencies: +```bash +# macOS +brew install cmake arrow + +# Ubuntu/Debian +sudo apt-get install cmake libarrow-dev +``` ```bash git clone https://github.com/apache/fluss-rust.git cd fluss-rust/bindings/cpp @@ -27,6 +36,9 @@ cmake -DCMAKE_BUILD_TYPE=Release .. cmake --build . ``` +For full build options including CMake integration into your own project, see the +[C++ client installation guide](https://clients.fluss.apache.org/user-guide/cpp/installation). + ## Quick Example ```cpp #include "fluss.hpp"