- From: Jeff Pinner <jpinner@twitter.com>
- Date: Fri, 3 May 2013 13:34:02 -0700
- To: James M Snell <jasnell@gmail.com>
- Cc: "ietf-http-wg@w3.org" <ietf-http-wg@w3.org>
- Message-ID: <CA+pLO_gWErCMv+j3pcmy+cTkt-hh2v6a7neeyDtg7HRN3x=Sgw@mail.gmail.com>
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