Re: Proposal: New Frame Size Text (was: Re: Design Issue: Frame Size Items)

On Fri, May 10, 2013 at 4:50 PM, James M Snell <jasnell@gmail.com> wrote:

>
> 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.
>
I don't get it. Then what does a halfway stance buy you? If you really want
to prevent them from sending data, say that headers are included in flow
control. If you're only shrinking the max frame size, but we can use a
frame continuation bit, or there's a lower-bound on the frame-size, then
the receiver isn't able to prevent the sender from sending arbitrary
amounts of header data, but it's just forcing the sender to break it up
into smaller frame sizes.

> >>
> >>
> >> - 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 20:00:32 UTC