- From: Jeff Pinner <jpinner@twitter.com>
- Date: Fri, 21 Jun 2013 16:13:43 -0700
- To: Martin Thomson <martin.thomson@gmail.com>
- Cc: Fred Akalin <akalin@google.com>, HTTP Working Group <ietf-http-wg@w3.org>
- Message-ID: <CA+pLO_gtFO23U=oVG3PVW4vL9YbdmFVRugsjTJZXVg56SJE49w@mail.gmail.com>
I agree that many simple clients may want to not keep track of flow control windows, and there are good reasons for them not to try. That being said, Section 3.6.2: Deployments that do not require this capability SHOULD disable flow control for data that is being received. is very different than providing per-stream disabling via SETTINGS or WINDOW_UPDATE frames. Maybe the thing to do here is to not provide so many knobs (per-stream / all streams / connection / all of the above) and only allow the client to turn off flow-control completely? On Fri, Jun 21, 2013 at 3:49 PM, Martin Thomson <martin.thomson@gmail.com>wrote: > On 21 June 2013 14:58, Fred Akalin <akalin@google.com> wrote: > > Reading the "Ending Flow Control" section of the spec (3.8.9.4: > > http://http2.github.io/http2-spec/#EndFlowControl ), I'm wondering if we > > even need the ability to disable flow control at all. > > This is something that we discussed at some length in the Tokyo > interim. Getting flow control right is hard. An implementation will > screw itself if it doesn't take a great deal of care. Flow control > always costs in performance, at best it just costs the bytes for a few > WINDOW_UPDATE frames; at worst, you end up with lots of periods where > you receive nothing but silence. Of course, the upside is that you > can get good concurrency without spending infinite amounts of RAM. > > This is why we included Section 3.6.2: > > http://http2.github.io/http2-spec/#rfc.section.3.6.2 > > Many simple implementations will choose to avoid flow control. In > fact, we want to encourage them to avoid implementing it. > >
Received on Friday, 21 June 2013 23:14:10 UTC