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

Connection Close retransmission #636

Closed
mikkelfj opened this issue Jun 18, 2017 · 1 comment
Closed

Connection Close retransmission #636

mikkelfj opened this issue Jun 18, 2017 · 1 comment
Labels
invalid A duplicate, overcome-by-events, ill-formed, or off-topic issue, or a question better asked on-list.

Comments

@mikkelfj
Copy link
Contributor

The connection close is sent as a sort of last resort on errors, but may also a clean shutdown or at least a controlled shutdown. The current transmission and recovery drafts do not appear to guide the behavior in these different schenarios, notably if, how and when to retransmit connection close.

The problem with this is a potentially unnecessary risk of hung connections that wait for long idle timeouts on packet loss. This can badly influence latency sensitive services.

One option would be to send multiple packets a short time apart when possible and practical. The second close packet could be prepared and thus most connection state can be torn down immediately.

The GO_AWAY frame can be use when a shutdown is controlled, but it does not handle any error codes and does not handle when there really is an unrecoverable error.

@mikkelfj
Copy link
Contributor Author

This is covered in draft, I just missed it.

@mnot mnot added the duplicate label Sep 25, 2017
@mnot mnot added the invalid A duplicate, overcome-by-events, ill-formed, or off-topic issue, or a question better asked on-list. label Mar 5, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
invalid A duplicate, overcome-by-events, ill-formed, or off-topic issue, or a question better asked on-list.
Projects
None yet
Development

No branches or pull requests

2 participants