- From: 陈智昌 <willchan@chromium.org>
- Date: Fri, 10 May 2013 16:05:29 -0300
- To: James M Snell <jasnell@gmail.com>
- Cc: Roberto Peon <grmocg@gmail.com>, Hasan Khalil <hkhalil@google.com>, Martin Thomson <martin.thomson@gmail.com>, Poul-Henning Kamp <phk@phk.freebsd.dk>, "ietf-http-wg@w3.org" <ietf-http-wg@w3.org>
- Message-ID: <CAA4WUYgFccqU5-65mFPF_3i4OOROZQCdS+tEUeDMk4HP4JJX5Q@mail.gmail.com>
On Fri, May 10, 2013 at 3:23 PM, James M Snell <jasnell@gmail.com> wrote: > On Fri, May 10, 2013 at 11:11 AM, Roberto Peon <grmocg@gmail.com> wrote: > > The continuation bit is necessary for headers at a minimum, as we do have > > headers which are > 65k, and something indicating either > > end-of-semantic-header-block is necessary to support that. > > > > > > I don't understand why it makes sense to limit header frames by the > window > > size. > > what if the window size is zero? > > What if it is 1 byte. > > > > If the window size is unreasonably low, then communication would not > be possible. Simple as that. > > Or, we can go ahead and set a lower-bound also.. say frame size is <= > min(WINDOW_SIZE,65k) && > 1k .. the low bound is fairly arbitrary and > we can set that at whatever is reasonable. > > The rationale for tying this to window size is to limit the number of > knobs that have to be turned to control the communication flow. window > size is already established as the amount of data the receiver is > willing to accept at any given time, it's reasonable to consider that > significant thought will have gone into establishing that window size > and that it will be tuned to achieve maximum network utilization. > I don't really understand the point of this halfway stance of not counting towards the window, yet having the frame size be bounded by the window. DATA frames count towards the window, and their frame sizes are bounded by the window as well (otherwise it'd be a PROTOCOL_ERROR). All the control frames don't count towards any flow control window, and don't have their frame sizes bounded by any window either. I kinda get the impression from reading this email of yours that you think window sizes are fairly static, and while it's true that the target window size may be somewhat static (target the size to match the buffers), in practice window sizes as viewed by the sender shrink and grow (every time you send bytes, you use up more of the window(s) and hence it shrinks, and requires a WINDOW_UPDATE to grow it(them)). If the sender sends data faster than the receiver can process, I believe that the connection window will be 0 (from the sender's perspective, although a WINDOW_UPDATE may be incoming to increase the window), which will block the sender from sending any header frames. > > - James > > > I don't see any real benefits for limiting control frames to anything > having > > to do with the window size as compared to sending a SETTING and having > the > > default before there and having it completely decoupled from window size, > > and I do see a number of complications and ewws :/ > > -=R > > > > > > On Fri, May 10, 2013 at 10:58 AM, Hasan Khalil <hkhalil@google.com> > wrote: > >> > >> While I love the idea of limiting frames to 65535B, I hate the idea of a > >> continuation bit. > >> > >> -Hasan > >> > >> > >> On Fri, May 10, 2013 at 1:54 PM, Martin Thomson < > martin.thomson@gmail.com> > >> wrote: > >>> > >>> On 10 May 2013 10:40, William Chan (陈智昌) <willchan@chromium.org> > wrote: > >>> > [...] are we going to move forward with the frame > >>> > continuation bit? > >>> > >>> I think that this was implicit in our decision to limit frames to > >>> 65535 bytes (or less). > >> > >> > > >
Received on Friday, 10 May 2013 19:13:25 UTC