W3C home > Mailing lists > Public > ietf-http-wg@w3.org > April to June 2014

Re: HEADERS and flow control

From: James M Snell <jasnell@gmail.com>
Date: Fri, 9 May 2014 13:06:31 -0700
Message-ID: <CABP7RbeC=Udni_4=qpZwCTRYCLJ-x5FDgxyfUv=LjsZeEw7r3w@mail.gmail.com>
To: Roberto Peon <grmocg@gmail.com>
Cc: Martin Thomson <martin.thomson@gmail.com>, HTTP Working Group <ietf-http-wg@w3.org>
This is really the same issue that I had brought up quite a while
ago... in the context of hop-by-hop or end-to-end frame types, where
end-to-end frames were always considered to be subject to flow
control. While I contend that it still makes far more sense to define
it as a property of the opcode, having a flow-control headers frame
variant could work also.

On Fri, May 9, 2014 at 12:37 PM, Roberto Peon <grmocg@gmail.com> wrote:
> Or you can change the opcode of the other HEADERS...
>
> What I'm proposing is effectively a rethink of the merging of HEADERs and
> SYN_STREAM, because users have brought up usecases which would be
> troublesome with the way it is done now.
> -=R
>
>
> On Fri, May 9, 2014 at 12:34 PM, Martin Thomson <martin.thomson@gmail.com>
> wrote:
>>
>> On 9 May 2014 12:10, Roberto Peon <grmocg@gmail.com> wrote:
>> > What creates a surprising corner case?
>>
>>
>> What you are proposing:
>>
>> function isFlowControlled(frame) {
>>   return frame.type === 'DATA';
>> }
>>
>> becomes:
>>
>> var firstHeadersDone = false;
>> function isFlowControlled(frame) {
>>   if (frame.type === 'DATA') {
>>     return true;
>>   }
>>   if (!firstHeadersDone) {
>>     if (frame.type === 'HEADERS' || frame.type === 'CONTINUATION') {
>>       firstHeadersDone = frame.flags.END_HEADERS;
>>     }
>>     return false;
>>   }
>>   return frame.type === 'HEADERS' || frame.type === 'CONTINUATION';
>> }
>>
>> Or something like that.  That's not particularly straightforward.
>> Such complexity requires justification.
>
>
Received on Friday, 9 May 2014 20:07:19 UTC

This archive was generated by hypermail 2.4.0 : Friday, 17 January 2020 17:14:30 UTC