There was an error while loading. Please reload this page.
1 parent 8067971 commit 4321cf1Copy full SHA for 4321cf1
transport/http2_server.go
@@ -475,6 +475,13 @@ func (t *http2Server) handleData(f *http2.DataFrame) {
475
return
476
}
477
// Decouple connection's flow control from application's read.
478
+// An update on connection's flow control should not depend on
479
+// whether user-applicaiton has read the data or not. Such a
480
+// restriction is already imposed on the stream's flow control,
481
+// and therefore the sender will be blocked anyways.
482
+// Decoupling the connection flow control will prevent other
483
+// active(fast) streams from starving in presence of slow or
484
+// inactive streams.
485
if w := t.fc.onRead(uint32(size)); w > 0 {
486
t.controlBuf.put(&windowUpdate{0, w})
487
0 commit comments