• Tom Bergan's avatar
    http2: refund connection flow control on DATA frames received after reset · d4223d67
    Tom Bergan authored
    If the transport had previously sent a RST_STREAM but had not yet
    deleted the stream from its list of active streams, we should refund
    connection-level flow control for any DATA frame received as such
    DATA frames will never be read.
    
    We already refund connection-level flow control if a stream closes with
    unread data in bufPipe. However, when we receive a DATA frame after
    reset, we don't bother writing it to bufPipe, so we have to refund the
    flow control separately.
    
    Updates golang/go#20469
    
    Change-Id: I5a9810a5d6b1bd7e291173af53646246545a6665
    Reviewed-on: https://go-review.googlesource.com/46591
    Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org>
    TryBot-Result: Gobot Gobot <gobot@golang.org>
    Reviewed-by: 's avatarBrad Fitzpatrick <bradfitz@golang.org>
    d4223d67
transport.go 58 KB