284a203070
Lands the load-bearing infra for the hang/Rust cross-stack interop
test plan (nestsClient/plans/2026-05-06-cross-stack-interop-test.md):
the cargo workspace, Gradle wiring to install moq-relay /
moq-token-cli + build sidecars, the Kotlin harness that boots a
real moq-relay subprocess on a random ephemeral UDP port with
self-signed TLS and unrestricted public auth, plus the signal-domain
PCM assertion library and deterministic sine-wave AudioCapture that
Phase 2 scenarios will assert against.
Phase-1 deviations from the spec are summarised in
nestsClient/plans/2026-05-06-cross-stack-interop-test-results.md
— notably: --auth-public "" instead of the JWT minter (no
security-relevant difference for wire-format scenarios), --tls-generate
instead of in-Kotlin cert generation, cargo-install of upstream
binaries instead of an embedded kixelated/moq checkout, and
hang-listen / hang-publish / udp-loss-shim shipped as Phase-1 stubs
that compile + accept --flags but do nothing. Phase 2 fills those
in (and adds JVM Opus encoder/decoder).
Verified green via:
./gradlew :nestsClient:jvmTest \
--tests "com.vitorpamplona.nestsclient.interop.native.*" \
--tests "com.vitorpamplona.nestsclient.audio.PcmAssertionsTest" \
-DnestsHangInterop=true
Default mode (no flag) cleanly skips the harness-dependent test.
https://claude.ai/code/session_01ERJPUYfdLPwZ99pr5EcEcV
23 lines
952 B
Plaintext
23 lines
952 B
Plaintext
# Pinned upstream revisions for the cross-stack interop harness.
|
|
#
|
|
# These versions are what NativeMoqRelayHarness installs (via
|
|
# `cargo install --version <v> --root <cache>`) and what our sidecar
|
|
# crates pin against in Cargo.toml. Bump deliberately — a silent
|
|
# upstream rev change can mask a regression.
|
|
#
|
|
# See: nestsClient/plans/2026-05-06-cross-stack-interop-test.md
|
|
|
|
# https://github.com/kixelated/moq commit at the time this harness was
|
|
# written. Used as the source-of-truth for the exact API shapes the
|
|
# sidecar crates are coded against. Phase 1 doesn't compile against
|
|
# upstream yet (sidecars are stubs); Phase 2 will pin the published
|
|
# crate versions below to track this rev.
|
|
KIXELATED_MOQ_GIT_REV=9e2461ee4941968f7b8c410e472448639d2aa4a3
|
|
|
|
# Published crate versions on crates.io that come from the rev above.
|
|
MOQ_RELAY_VERSION=0.10.25
|
|
MOQ_TOKEN_CLI_VERSION=0.5.23
|
|
HANG_VERSION=0.15.8
|
|
MOQ_LITE_VERSION=0.15.15
|
|
MOQ_NATIVE_VERSION=0.13
|