• Tom Bergan's avatar
    http2: block RoundTrip when the Transport hits MaxConcurrentStreams · 1c05540f
    Tom Bergan authored
    Currently if the http2.Transport hits SettingsMaxConcurrentStreams for a
    server, it just makes a new TCP connection and creates the stream on the
    new connection. This CL updates that behavior to instead block RoundTrip
    until a new stream is available.
    
    I also fixed a second bug, which was necessary to make some tests pass:
    Previously, a stream was removed from cc.streams only if either (a) we
    received END_STREAM from the server, or (b) we received RST_STREAM from
    the server. This CL removes a stream from cc.streams if the request was
    cancelled (via ctx.Close, req.Cancel, or resp.Body.Close) before
    receiving END_STREAM or RST_STREAM from the server.
    
    Updates golang/go#13774
    Updates golang/go#20985
    Updates golang/go#21229
    
    Change-Id: I660ffd724c4c513e0f1cc587b404bedb8aff80be
    Reviewed-on: https://go-review.googlesource.com/53250
    Run-TryBot: Tom Bergan <tombergan@google.com>
    TryBot-Result: Gobot Gobot <gobot@golang.org>
    Reviewed-by: 's avatarBrad Fitzpatrick <bradfitz@golang.org>
    1c05540f
Name
Last commit
Last update
bpf Loading commit data...
context Loading commit data...
dict Loading commit data...
dns/dnsmessage Loading commit data...
html Loading commit data...
http2 Loading commit data...
icmp Loading commit data...
idna Loading commit data...
internal Loading commit data...
ipv4 Loading commit data...
ipv6 Loading commit data...
lex/httplex Loading commit data...
lif Loading commit data...
nettest Loading commit data...
netutil Loading commit data...
proxy Loading commit data...
publicsuffix Loading commit data...
route Loading commit data...
trace Loading commit data...
webdav Loading commit data...
websocket Loading commit data...
xsrftoken Loading commit data...
.gitattributes Loading commit data...
.gitignore Loading commit data...
AUTHORS Loading commit data...
CONTRIBUTING.md Loading commit data...
CONTRIBUTORS Loading commit data...
LICENSE Loading commit data...
PATENTS Loading commit data...
README Loading commit data...
codereview.cfg Loading commit data...