160914c48b
RustCrypto aes 0.8.x and polyval 0.6.x gate their ARMv8 AES / PMULL paths behind --cfg aes_armv8 / --cfg polyval_armv8 on aarch64 (x86_64 runtime-detects AES-NI with no flag, which is why hosts never showed it). Without the cfgs every Apple and Android client decrypted the media plane in SOFTWARE: 240 MiB/s/core measured on an M3 Ultra — 7 µs per 1.4 KB datagram, single-handedly capping receive throughput at ~1.57 Gbps wire on both host pairs. Workspace .cargo/config.toml sets both cfgs for cfg(target_arch = "aarch64"); detection stays runtime (cpufeatures) with a safe soft fallback. open_in_place: 240 MiB/s -> 2.42 GiB/s (10.3x). Live sweep .173 -> M3 Ultra over 10GbE: ceiling 1572 -> 4830 Mbps wire, zero loss through a 3.5 Gbps target; the .21 pair now saturates its physical 2.4 Gbps fabric exactly. No in-tree build path sets RUSTFLAGS (xcframework + gradle checked), so the config reaches all client builds; a lane that sets RUSTFLAGS overrides config rustflags entirely and must carry the cfgs itself (noted in the file). Shipping Apple/Android binaries stay on software crypto until rebuilt. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>