-
Notifications
You must be signed in to change notification settings - Fork 90
Idle builder #202
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
Idle builder #202
Conversation
Codecov Report
|
jonhoo
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nice! I think it makes complete sense to make keep-alive the default, and I think it's fine to require SetReadTimeout 👍
Also kill timed_wait because it is only used in one place.
|
I think we are good to go on this one? |
jonhoo
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Excellent, thanks!
Separately, we really need to figure out what causes that CI failure all the time. Maybe it's time to drop the FreeBSD compile check altogether..
Addresses #191 .
Also includes the changes in #201 for convenience.
Note that this change effectively requires that the underlying transport implements the
SetReadTimeouttrait fromextensions::idle. I am not sure if this is a problem or not. If so, I can add the oldwait_while()back with a different name (wait_notimeout_while()?) to restore the functionality. I opted to remove it because the oldwait_keepalive_whilefunction was already broken for non-SetReadTimeouttransports, and it was the recommended way to do it. I am unsure if the extra API is worth it since implementingSetReadTimeoutis so trivial. Happy to get feedback on this.Note that this also makes
keepalivethe default, since it is the recommended way to do it. An opt-out function is provided (no_keepalive()) for users who do not want this. I figured that the recommended path should also be the default.This change is