-
Notifications
You must be signed in to change notification settings - Fork 727
implement changes for quic multipath #2312
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
base: main
Are you sure you want to change the base?
Conversation
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #2312 +/- ##
==========================================
- Coverage 94.82% 94.77% -0.06%
==========================================
Files 104 104
Lines 24100 24199 +99
==========================================
+ Hits 22853 22934 +81
- Misses 1247 1265 +18 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
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 think this is looking pretty good modulo nits. Suggest you keep this as draft until you have something working end-to-end/need to depend on it in a published crate.
@djc thanks for the review, just updated based on suggestions. I can make this a draft but we I think it would be benefit for everyone if this is included in the next release. I expect the API and implementation to not change since the spec changes are fairly simple unless there's something we are missing? I hope not but there's clearly that risk. That being said, keeping it open requires us to depend on a fork for development, find a timely release for Let me know what you think! ETA: codecov is unhappy, but it wants me to test the default impl of the multipath methods. Should I add these tests? |
We make semver-compatible releases quite often and are pretty fast at doing it. I can virtually guarantee that we can get it done within like one workday of whenever your downstream work is ready, but I would really prefer to hold off on merging this until that is done.
Seems fine to me, but maybe @ctz has a different opinion? Also, can you file a followup issue with the |
Understood, we'll be knocking in your door hopefully not too far in the future
Issue created #2315 but it's pending labels (I can't add them myself) |
Thanks, added the label. |
I generally do not write tests for trivial functions just for the coverage. This PR currently looks great to me coverage-wise. |
the diff looks good to me too, thanks! If you had time I feel like this could be squashed into a singular commit instead of three. |
Is this ready to be flipped out of draft status w/ a rebase & squash or would folks still prefer to see this held until the end-to-end feature works with Quinn? If the latter, could someone link up the Quinn PR it's blocked on? I took a quick scan and didn't spot an obvious candidate. |
@cpu we are working on this on our own fork for now and we are not close to be done, but we are progressing: n0-computer/quinn#28 so this will be held on the condition of finalizing for a couple months. That being said I don't expect anything in this pr to change since the api is imo obvious. |
At https://github.com/n0-computer we are working on implementing multipath in
quinn
. Multipath requires a few changes in the nonce calculation for packet protection (described in section 4.1).This PR implements those changes to the best of my knowledge (which is fairly limited for this repo). The tests are based on the multipath implementation for
picoquic
On an implementation note, I opted for separate functions to avoid disrupting implementations that do not support multipath. Let me know if you would rather have them merged