• Brad Fitzpatrick's avatar
    http2: fix handling of errors from the readFrames goroutine · 271cfc1e
    Brad Fitzpatrick authored
    There was a design problem earlier where the serve goroutine assumed
    that the readFrame goroutine could return only connection-level
    errors, but the readFrames goroutine (and the underlying Framer)
    assumed it could return stream-level errors (type StreamError) and
    have them handled as stream errors in the layers above. That's how it
    should have been, and what this CL does.
    
    Now readFrames returns both the Frame and error from ReadFrames
    together as a pair, and an error isn't necessarily fatal to the
    connection.
    
    Fixes golang/go#12733
    Fixes bradfitz/http2#53
    
    Change-Id: If4406ceaa019886893d3c61e6bfce25ef74560d3
    Reviewed-on: https://go-review.googlesource.com/15735Reviewed-by: 's avatarDmitry Vyukov <dvyukov@google.com>
    271cfc1e
server.go 53.9 KB