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

Re: Design Issue: Merge RST_STREAM and GOAWAY into a single ERROR frame type

From: Jeff Pinner <jpinner@twitter.com>
Date: Fri, 3 May 2013 13:34:02 -0700
Message-ID: <CA+pLO_gWErCMv+j3pcmy+cTkt-hh2v6a7neeyDtg7HRN3x=Sgw@mail.gmail.com>
To: James M Snell <jasnell@gmail.com>
Cc: "ietf-http-wg@w3.org" <ietf-http-wg@w3.org>
IIRC, when this was brought up at the last F2F the rational for NOT doing
this was that frame types were cheaper than flags (256 frame types, 8
flags).

That being said I think we should consider combining them :)


On Fri, May 3, 2013 at 1:04 PM, James M Snell <jasnell@gmail.com> wrote:

> As a simplification, I'd like to suggest that we merge the RST_STREAM
> and GOAWAY frames into a single ERROR frame with the following
> definition:
>
>  0                   1                   2                   3
>  0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
> +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
> |                      Error Code (32)                          |
> +---------------------------------------------------------------+
> |X|                  Last-Stream-ID (31)                        |
> +-+-------------------------------------------------------------+
>
> (note that this flips the field order from the GOAWAY frame)
>
> A frame-specific GOAWAY flag bit (0x2) would be defined for the frame,
> and the Last-Stream-ID field would only be included in the frame data
> if this flag was set.
>
> This does a couple of things for us:
>
> 1. It simplifies the error handling and reduces the number of core frame
> types.
> 2. It allows us to terminate a stream and terminate the session in a
> single frame if necessary
> 3. It gives us a way of reporting non-terminal session errors
> (currently RST_STREAM is forbidden to use stream id #0 and GOAWAY is
> always terminal).
>
>
Received on Friday, 3 May 2013 20:34:29 UTC

This archive was generated by hypermail 2.3.1 : Tuesday, 1 March 2016 11:11:12 UTC