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

Transport API: Reset after FIN? #3163

Closed
MikeBishop opened this issue Oct 28, 2019 · 1 comment · Fixed by #3165
Closed

Transport API: Reset after FIN? #3163

MikeBishop opened this issue Oct 28, 2019 · 1 comment · Fixed by #3165
Labels
-transport editorial An issue that does not affect the design of the protocol; does not require consensus.

Comments

@MikeBishop
Copy link
Contributor

MikeBishop commented Oct 28, 2019

#2857, requires transport stacks to support abrupt closure of a stream even after the stream has been cleanly closed. This reflects the possibility to transition from "Data Sent" (stream has ended) to "Reset Sent" by sending a RESET_STREAM. Based on the state diagram in the transport doc, if an implementation was already in the "Data Recvd" state, they wouldn't actually send a RESET_STREAM, as they're already in a terminal state; a reset call would be a no-op or an error of some kind.

However, @mikkelfj points out that in a handle-based API, this essentially means that handles for closed streams have to be recognizable as such for the lifetime of the connection. This might be burdensome for some implementations.

Should we reword the requirement here to say that it's permitted if the stream hasn't yet reached the "Data Recvd" state.

@martinthomson martinthomson added the editorial An issue that does not affect the design of the protocol; does not require consensus. label Oct 29, 2019
@martinthomson
Copy link
Member

This was clearly just a miss on the wording. I don't think that the intent was ever to require that streams be kept around indefinitely. Sure, some stacks might be able to send RESET_STREAM at a whim, but it's not necessary

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
-transport editorial An issue that does not affect the design of the protocol; does not require consensus.
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants