- From: James M Snell <jasnell@gmail.com>
- Date: Fri, 9 May 2014 13:06:31 -0700
- 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