You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Of the frame types defined in the draft, only one frame type actually defines any flags. Otherwise, the flags byte is a wasted byte per frame, every frame.
For the frames which don't use flags, the byte can simply be dropped from the generic frame definition without ill effect. For the one which does (PRIORITY), there are a few reasonable choices:
Define a flags byte as the first byte of PRIORITY's payload; PRIORITY effectively remains unchanged
Follow QUIC's lead: embed the flags in the type byte; PRIORITY consumes eight values in the frame type space
Consider putting priority changes on a separate unidirectional stream (as in Unidirectional Stream Headers in HTTP #1359) and not using control stream frames for them at all. They only need order with respect to each other, not anything else.
The text was updated successfully, but these errors were encountered:
This is a nice observation. I tend to think of flags as a mistake in h2, but it was always too low on the priority list and they were used a reasonable amount. Here you are right, we could do better. Encoding PRIORITY differently seems like the best choice (8 frame types isn't that big a deal, but it's probably better to use an extra octet in this case).
Of the frame types defined in the draft, only one frame type actually defines any flags. Otherwise, the flags byte is a wasted byte per frame, every frame.
For the frames which don't use flags, the byte can simply be dropped from the generic frame definition without ill effect. For the one which does (PRIORITY), there are a few reasonable choices:
The text was updated successfully, but these errors were encountered: