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

STOP_SENDING before stream open #1050

Closed
mikkelfj opened this issue Jan 12, 2018 · 2 comments
Closed

STOP_SENDING before stream open #1050

mikkelfj opened this issue Jan 12, 2018 · 2 comments
Assignees
Labels
-transport design An issue that affects the design of the protocol; resolution requires consensus. has-consensus An issue that the Chairs have determined has consensus, by canvassing the mailing list.

Comments

@mikkelfj
Copy link
Contributor

Draft says STOP_SENDING can be sent in any state. But what should the stream initiator do with a STOP_SENDING frame send for a stream far out in the future? It could ignore, which makes sense for pointless requests, but a peer that expects to receive data on a (possible uni-directional) stream may want to close a stream ASAP in anticipation of future flow.

If this is not clearly specified, or at least referred to as APP protocol defined, then strange behaviors could emerge.

One use case is reverse proxy receiving auth on one stream and data on another. It forwards the data and sends auth status on another stream. The peer realized credentials won't let the request do anything useful and issues a STOP_SENDING. If the request isn't stopped, the peer could be flooded with large volumes of data that just has to be dropped. If it is arbitrary what happens with a STOP_SENDING before the stream has been created, the flow cannot be stopped reliably. Or, there is the default stream max, but that is intentially large to deal with large valid data volumes.

@martinthomson martinthomson added design An issue that affects the design of the protocol; resolution requires consensus. -transport labels Jan 14, 2018
@martinthomson
Copy link
Member

Yes, we should prohibit the frame for streams that are not yet created.

@martinthomson martinthomson self-assigned this Mar 14, 2018
@martinthomson
Copy link
Member

Taking this for myself. Add prohibition to the stream state machine section, as well as the frame description.

@mnot mnot added the has-consensus An issue that the Chairs have determined has consensus, by canvassing the mailing list. label Mar 5, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
-transport design An issue that affects the design of the protocol; resolution requires consensus. has-consensus An issue that the Chairs have determined has consensus, by canvassing the mailing list.
Projects
None yet
Development

No branches or pull requests

3 participants