Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Unidirectional Stream Headers in HTTP #1359

Merged
merged 13 commits into from Jun 27, 2018
11 changes: 6 additions & 5 deletions draft-ietf-quic-http.md
Expand Up @@ -512,8 +512,8 @@ Each side MUST initiate a single control stream at the beginning of the
connection and send its SETTINGS frame as the first frame on this stream. Only
one control stream per peer is permitted; receipt of a second stream which
claims to be a control stream MUST be treated as a connection error of type
HTTP_TOO_CONTROLLING. If the control stream is closed at any point, this MUST
be treated as a connection error of type HTTP_CLOSED_CRITICAL_STREAM.
HTTP_WRONG_STREAM_COUNT. If the control stream is closed at any point, this
MUST be treated as a connection error of type HTTP_CLOSED_CRITICAL_STREAM.

A pair of unidirectional streams is used rather than a single bidirectional
stream. This allows either peer to send data as soon they are able. Depending
Expand Down Expand Up @@ -1182,8 +1182,9 @@ HTTP_DUPLICATE_PUSH (0x0C):
HTTP_UNKNOWN_STREAM_TYPE (0x0D):
: A unidirectional stream header contained an unknown stream type.

HTTP_TOO_CONTROLLING (0x0E):
: More than one control stream was opened by the peer.
HTTP_WRONG_STREAM_COUNT (0x0E):
: A unidirectional stream type was used more times than is permitted by that
type.

HTTP_CLOSED_CRITICAL_STREAM (0x0F):
: A stream required by the connection was closed or reset.
Expand Down Expand Up @@ -1616,7 +1617,7 @@ The entries in the following table are registered by this document.
| HTTP_PUSH_LIMIT_EXCEEDED | 0x000B | Maximum Push ID exceeded | {{http-error-codes}} |
| HTTP_DUPLICATE_PUSH | 0x000C | Push ID was fulfilled multiple times | {{http-error-codes}} |
| HTTP_UNKNOWN_STREAM_TYPE | 0x000D | Unknown unidirectional stream type | {{http-error-codes}} |
| HTTP_TOO_CONTROLLING | 0x000E | Multiple control streams | {{http-error-codes}} |
| HTTP_WRONG_STREAM_COUNT | 0x000E | Too many unidirectional streams | {{http-error-codes}} |
| HTTP_CLOSED_CRITICAL_STREAM | 0x000F | Critical stream was closed | {{http-error-codes}} |
| HTTP_WRONG_STREAM_DIRECTION | 0x0010 | Unidirectional stream in wrong direction | {{http-error-codes}} |
| HTTP_MALFORMED_FRAME | 0x01XX | Error in frame formatting or use | {{http-error-codes}} |
Expand Down
2 changes: 1 addition & 1 deletion draft-ietf-quic-qpack.md
Expand Up @@ -371,7 +371,7 @@ instruction space:

There MUST be exactly one of each unidirectional stream type in each direction.
Receipt of a second instance of either stream type MUST be treated as a
connection error of HTTP_TOO_CONTROLLING. Closure of either unidirectional
connection error of HTTP_WRONG_STREAM_COUNT. Closure of either unidirectional
stream MUST be treated as a connection error of type
HTTP_CLOSED_CRITICAL_STREAM.

Expand Down