http2: fix a few issues revealed by the net/http unified pool TestAPITransportCoalescedDial attempts to be agnostic on the legacy behavior (in which a connection is needlessly discarded) and the desired behavior (in which it is used). Add a missing read of the client preface in the case where we use the conn. TestAPITransportIdleConnTimeout exercises the IdleConnTimeout field, but uses an http.ClientConn. It doesn't make sense for ClientConn to apply idle timeouts (that's the responsibility of the pool using the conn). Change the test to use an http.Transport instead. The existing net/http HTTP/2 ClientConn has a bug in reporting in-flight requests, where it does not report requests waiting for a concurrency slot as active. Fixing this bug breaks an x/net/http2 test, but the real issue is that the http2.ClientConnState includes information that http.ClientConn does not provide. Add a way for net/http to provide that information to x/net/http2. The net/http change which fixes the in-flight request reporting will include the other half of this change, keeping x/net tests passing before and after. Fixes golang/go#83005 Change-Id: I599c4f4381c4f029c2e0138e2016e53f6a6a6964 Reviewed-on: https://go-review.googlesource.com/c/net/+/860083 Reviewed-by: Nicholas Husin <nsh@golang.org> Reviewed-by: Nicholas Husin <husin@google.com> LUCI-TryBot-Result: golang-scoped@luci-project-accounts.iam.gserviceaccount.com <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
This repository holds supplementary Go networking packages.
This repository uses Gerrit for code changes. To learn how to submit changes to this repository, see https://go.dev/doc/contribute.
The git repository is https://go.googlesource.com/net.
The main issue tracker for the net repository is located at https://go.dev/issues. Prefix your issue with “x/net:” in the subject line, so it is easy to find.