Frames and State Machine

If I recall correctly, we chose not to define the semantics of PRIORITY from server to client.  However, the state machine of what frames are acceptable in what states support the following:

*        Sending PRIORITY in "reserved (local)" (a server-only state)

*        Receiving PRIORITY in "reserved (remote)" (a client-only state)

*        Receiving PRIORITY in "half closed (local)" (a primarily-client state, unless the server responds before the request body has completed)

*        More generally, there's a note that PRIORITY can be sent or received in any stream state, presumably added as part of allowing prioritization of idle streams.

Should we allow sending/receiving PRIORITY frames of undefined semantics?  This seems like something to be cleaned up, either by prohibiting (my preference) or by including the semantics in the spec.

And, as a side-note, the current text allows PUSH_PROMISE to be sent on idle streams, which I don't think was ever the intent.  I submitted a pull request for this at https://github.com/http2/http2-spec/pull/665/files#diff-8894168382f6487e5e38c4306e613a88, because I think it's just an outright typo, but mentioning it on-list in case anyone disagrees.

Received on Tuesday, 2 December 2014 18:36:50 UTC