From 2510ffbd3f8188b1aed431ad2d24cc55cee003bc Mon Sep 17 00:00:00 2001 From: Michael Ilyin Date: Mon, 10 Aug 2026 10:59:23 +0200 Subject: [PATCH] Retire the transition scaffolding MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Two files on this branch describe a repository that no longer exists. ZENOH_FLAT_TRANSITION.md was the integration branch's own bookkeeping — an architecture sketch and a table of the constituent PRs. The table stopped at #484 and its links still pointed at the ZettaScaleLabs forks the work has since left, so it now misinforms rather than informs; the same content, kept current, lives in the #482 description. It was always meant to go when the branch merges. rust-toolchain.toml pinned 1.97.1 for a repository that builds no Rust. CI installs its components explicitly (`--toolchain 1.93.0`) and runs every cargo command inside the sibling zenoh-flat-jni checkout, where that repository's own toolchain file applies, so this pin selects nothing and can only mislead whoever reads it next. Co-Authored-By: Claude Opus 5 --- ZENOH_FLAT_TRANSITION.md | 41 ---------------------------------------- rust-toolchain.toml | 2 -- 2 files changed, 43 deletions(-) delete mode 100644 ZENOH_FLAT_TRANSITION.md delete mode 100644 rust-toolchain.toml diff --git a/ZENOH_FLAT_TRANSITION.md b/ZENOH_FLAT_TRANSITION.md deleted file mode 100644 index ba9fa709..00000000 --- a/ZENOH_FLAT_TRANSITION.md +++ /dev/null @@ -1,41 +0,0 @@ -# zenoh-flat transition - -This branch (`zenoh-flat-transition`) is the **integration branch** for rebuilding -zenoh-java on top of the generated JNI/Kotlin bindings, replacing the hand-written -`zenoh-jni` layer. It exists so the transition can land as a series of reviewable -PRs targeting this branch instead of `main`; when the transition is complete, this -branch merges to `main` as a whole (and this file is removed). - -## Architecture - -``` -zenoh (Rust) - └─ zenoh-flat flat #[prebindgen]-annotated Rust API - └─ zenoh-flat-jni generated JNI externs + Kotlin classes (prebindgen lang::JniGen) - └─ zenoh-java Kotlin SDK wrapper (this repo) -``` - -- **prebindgen** — (generator) -- **zenoh-flat** — (flat Rust API) -- **zenoh-flat-jni** — (generated bindings, - consumed as a sibling checkout in CI and via Gradle composite build locally; - as a Maven artifact once published) - -## Constituent PRs - -| PR | Scope | Status | -| --- | --- | --- | -| [#481](https://github.com/eclipse-zenoh/zenoh-java/pull/481) | Use receiver-style zenoh-flat-jni bindings (generated Session/Query/Publisher methods, split key-expr overloads, de-prefixed callback names); +61–83% subscriber throughput | merged | -| [#484](https://github.com/eclipse-zenoh/zenoh-java/pull/484) | `Encoding`/`ZenohId.toString` become pure JVM values (fixes a per-message native leak); the conversion logic lives in the **shared tier** (`EncodingCodec`/`zidString` in zenoh-flat-jni, correspondence-tested against native, reusable by zenoh-kotlin) with only a thin facade here; publisher **default encoding set natively at declare** (plain puts cross no encoding data). Pairs with [zenoh-flat-jni#4](https://github.com/ZettaScaleLabs/zenoh-flat-jni/pull/4), [zenoh-flat#3](https://github.com/ZettaScaleLabs/zenoh-flat/pull/3) (merged), [prebindgen#80](https://github.com/milyin/prebindgen/pull/80) (merged) | in progress | -| [#491](https://github.com/eclipse-zenoh/zenoh-java/pull/491) | `Session.undeclare` detaches the key-expr handle even when the native undeclare fails (the generated wrapper consumes it either way); found on the zenoh-kotlin port ([zenoh-kotlin#668](https://github.com/eclipse-zenoh/zenoh-kotlin/pull/668)) | merged | -| shared-parameters | `Parameters` becomes a thin facade over the shared string-backed implementation in zenoh-flat-jni (Rust `parameters.rs` semantics: no percent-decoding, infallible parse, first-match-wins get) + `ParametersCorrespondenceTest` vs the native oracle. Pairs with [zenoh-flat#4](https://github.com/ZettaScaleLabs/zenoh-flat/pull/4), [zenoh-flat-jni#9](https://github.com/ZettaScaleLabs/zenoh-flat-jni/pull/9) | open | - -Companion PRs in the upstream repos are coordinated per constituent PR (e.g. -[ZettaScaleLabs/zenoh-flat-jni#3](https://github.com/ZettaScaleLabs/zenoh-flat-jni/pull/3) -pairs with #481 and merges first; CI here pins the exact upstream commits). - -## CI pinning - -`.github/workflows/ci.yml` on the constituent branches pins the exact -`zenoh-flat-jni` / `zenoh-flat` commits the code was written against, while -`prebindgen` resolves from its `main`. Pins are bumped as the upstream PRs land. diff --git a/rust-toolchain.toml b/rust-toolchain.toml deleted file mode 100644 index 72436043..00000000 --- a/rust-toolchain.toml +++ /dev/null @@ -1,2 +0,0 @@ -[toolchain] -channel = "1.97.1"