- From: James M Snell <jasnell@gmail.com>
- Date: Fri, 10 May 2013 12:50:09 -0700
- To: ChanWilliam(陈智昌) <willchan@chromium.org>
- Cc: Roberto Peon <grmocg@gmail.com>, Poul-Henning Kamp <phk@phk.freebsd.dk>, "ietf-http-wg@w3.org" <ietf-http-wg@w3.org>, Martin Thomson <martin.thomson@gmail.com>, Hasan Khalil <hkhalil@google.com>
- Message-ID: <CABP7RbcQMEhu9ciuTQoR1dRw3UiUB=E_AeMjaNrhFgMPmmi+EQ@mail.gmail.com>
On May 10, 2013 12:05 PM, "William Chan (陈智昌)" <willchan@chromium.org> wrote: > > 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. > Other control frames don't contain arbitrarily large sets of user or application provided data like header bearing frames do. > 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. > I do not presume the Window to be static at all. In fact, quite the opposite, I expect it to be quite variable. I do not want header frames that are beyond an endpoints ability to process at any given point in time. It's conceivable that if the widow size is 0, the receiver really doesn't want the sender to initiate any new requests or to send arbitrarily large blocks of headers. >> >> >> - 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:50:43 UTC