docs(akka-msquic): 1.6 status update — Artery-TCP implementation began 2026-07-03

Corrects the same-day report: PR searches for 'quic' missed work named
'artery'. Artery is landing rapidly on upstream dev as Artery-TCP (openspec
#8313; framing/handshake G1-G2; parallel lanes #8356/#8357; large-message
streamId 3 #8352; MNTR/CI for both transports), with Serialization.V2 in
parallel. TCP-first resolves §7's forward note: pipeline benefits arrive
without libmsquic, dropping the §6 platform constraints from the 1.6
adoption path. No previews or public benchmarks yet.
This commit is contained in:
Joseph Doherty
2026-07-22 06:49:39 -04:00
parent dbfd5e7a7e
commit ff58ad4f60
+21 -4
View File
@@ -41,6 +41,21 @@ recommendation at the end.
So "wait for 1.6" is not a near-term plan. QUIC benefits this year would mean building it in-house. So "wait for 1.6" is not a near-term plan. QUIC benefits this year would mean building it in-house.
> **STATUS UPDATE (2026-07-22, same day, deeper look):** the two paragraphs above are correct about
> *QUIC* but stale about *Artery* — searching PRs for "quic" missed work named "artery".
> **Artery implementation began 2026-07-03 and is landing rapidly on `dev`, as Artery-TCP** (the
> JVM-parallel move): design spec via openspec (#8313, "artery-tcp-remoting"), transport-substrate
> validation gate G0 (#8315), TCP framing + envelope codec G1 (#8319), handshake/association G2
> (#8320), parallel inbound/outbound lanes (#8356/#8357, Jul 11), dedicated large-message stream
> streamId 3 (#8352, Jul 10), quarantine port in flight (#8416), MNTR/CI integration for both
> transports (#8373/#8413). 192/192 Artery specs passing as of #8352. In parallel,
> **Serialization.V2** (source-generated + MessagePack internals) is in heavy development — ~30
> merged PRs with wire-format snapshot tests and an open cross-component integration proof suite
> (#8407). TCP-first also confirms §7's forward-looking note: the Artery benefits (lanes,
> large-message stream, control stream) are arriving **transport-agnostic over TCP** — no libmsquic
> required — with QUIC as a later substrate swap. No preview release or public benchmark numbers
> yet; see the 1.6-status section of the conversation record for the remaining-work list.
## 2. What the projects run today ## 2. What the projects run today
Both ScadaBridge and OtOpcUa pin **Akka 1.5.62** and use the classic **`dot-netty.tcp`** transport, Both ScadaBridge and OtOpcUa pin **Akka 1.5.62** and use the classic **`dot-netty.tcp`** transport,
@@ -246,10 +261,12 @@ extra framing. Only interesting for exotic proxy/firewall traversal. Skip.
QUIC implementation in .NET, and nothing else in the box provides independent streams. So "QUIC QUIC implementation in .NET, and nothing else in the box provides independent streams. So "QUIC
without libmsquic" is not on the table, on any .NET version. without libmsquic" is not on the table, on any .NET version.
Forward-looking note: if Akka.NET's 1.6 Artery ships QUIC-only, libmsquic becomes unavoidable *at Forward-looking note**resolved 2026-07-22**: upstream did exactly this. The Artery port that
that point* — worth watching whether upstream adds a TCP mode (to11mtm explicitly advocated began landing on `dev` in July 2026 is **Artery-TCP** (openspec #8313), so the pipeline benefits
transport pluggability for firewall-restricted environments in the #7466 design discussion, citing arrive without libmsquic, and QUIC becomes a later optional substrate — the outcome to11mtm
the JVM's TCP Artery). advocated in the #7466 design discussion. This also removes the platform/ops constraints of §6
from the 1.6 adoption path (TCP, no native deps, no UDP firewall changes) unless/until a QUIC
substrate is chosen deliberately.
## 8. Would it actually alleviate the gRPC? ## 8. Would it actually alleviate the gRPC?