-
-
Notifications
You must be signed in to change notification settings - Fork 412
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
Abstract runtime support #1364
Abstract runtime support #1364
Conversation
af79dbe
to
1c37e94
Compare
2bb0e37
to
006108e
Compare
LGTM. Only comment I want to make is that all errors are assumed to be transient errors. This was already the case before and is probably fine, but in the async-std case it may be possible to explicitly handle transient errors and bubble other errors upwards. |
Thanks! Propagating UDP errors is possible, but we're not aware of any cases where it's actually appropriate to do so, and in some cases it actually exposes you to denial-of-service attacks. |
Is that true in all cases? At the very least I would like to be able to log these errors, as otherwise a firewall blocking traffic is indistinguishable from a timeout. Also, some errors (such as EPERM on Linux) are a result of the kernel blocking the traffic deliberately and so are not temporary. |
I have personally observed EPERM on Linux manifesting transiently. This is also beyond the scope of this PR. |
79156d9
to
f30eb43
Compare
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.
I forget, did we review benchmark impact for these changes?
Hi, would you mind releasing a new version of |
Sure! I've published quinn-udp 0.2. |
Thanks! |
With quinn-rs#1364 `quinn` is no longer restricted to `tokio`. Commit updates the crate heading accordingly.
With #1364 `quinn` is no longer restricted to `tokio`. Commit updates the crate heading accordingly.
Fixes #502. Draws very heavily on prior work in #1346. I haven't intensively reviewed all of the inherited code yet, and perhaps there's opportunity to break things up further.
@yu-re-ka I'd like your review on this, if you don't mind? Especially the async-std stuff which I was mostly guessing on.