Skip to main content
Version: Next

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: For managing databases, tables, and partitions.
  • Table API: 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

Install dependencies:

# macOS
brew install cmake arrow

# Ubuntu/Debian
sudo apt-get install cmake libarrow-dev
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 .

For full build options including CMake integration into your own project, see the C++ client installation guide.

Quick Example

#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.

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.