98bce58832
Two integrations from overnight agents: 1. agent C — peer-uni-stream drainer for the H3 multiplexing fix. Http3GetClient.init() now takes a CoroutineScope and calls conn.drainPeerInitiatedUniStreamsIntoBlackHole(scope) to consume + discard the server's three uni streams (control, qpack-encoder, qpack-decoder). RFC 9114 §6.2 mandates the client read these; pre-fix their bytes accumulated in 64-chunk per-stream channels until parser overflow tore down the connection with INTERNAL_ERROR ~4.5s into a multiplexing run. 2. agent A — versionnegotiation testcase wired into dispatch. Adds the testcase to the runTransferTest route and threads QuicVersion.FORCE_VERSION_NEGOTIATION as the initial version when testcase=='versionnegotiation'. The QuicConnection's RFC 9000 §6 VN flow (applyVersionNegotiation) takes over from there, retrying with v1 once the server replies with its supported list. https://claude.ai/code/session_01HcvfQq1ttPV9PkRoJb4nyT