- From: 陈智昌 <willchan@chromium.org>
- Date: Tue, 1 Jul 2014 10:55:01 -0700
- To: Jesse Wilson <jesse@swank.ca>
- Cc: HTTP Working Group <ietf-http-wg@w3.org>
Received on Tuesday, 1 July 2014 17:55:27 UTC
This same theoretical problem happens for HTTP/1.X over TCP. If the peers don't call read() to pull the TCP data into user space, the kernel's TCP stack will eventually shrink the receive window to 0. Of course, the TCP receive windows will generally be larger than HTTP/2's initial windows (64K). On Tue, Jul 1, 2014 at 10:45 AM, Jesse Wilson <jesse@swank.ca> wrote: > Cool! So this is a normal case. > > One corner case of a corner case is if the server's early response has > more than a window's worth of data... > > Our client wouldn't acknowledge that data because it doesn't start reading > until it's done writing. > > And if the server writes its early response before discarding/resetting > the request, that write might stall waiting for a WINDOW_UPDATE that won't > ever come. Deadlock! > > (This is probably just a theoretical problem!) >
Received on Tuesday, 1 July 2014 17:55:27 UTC