-
Notifications
You must be signed in to change notification settings - Fork 1k
New issue
Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? # to your account
refactor(quic): rewrite quic using quinn #3454
Conversation
This one is fresh, uses all features from master but with less code. I tried to update #2801 but it turned out it was easier to rewrite it. |
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.
Left comments on close/poll_close. I am not sure how to resolve them.
fix(quic/stream): return error on read
fix(quic/connection): await connection.closed
This pull request has merge conflicts. Could you please resolve them @kpp? 🙏 |
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.
Thank you @kpp for all the work on this pull request.
I will go ahead and merge here 🎉.
Most prominently, includes libp2p/rust-libp2p#3454.
With libp2p/rust-libp2p#3454 merged we can now test the new rust-libp2p QUIC implementation based on upstream quinn directly from rust-libp2p `master`. This commit does the following in libp2p/test-plans: 1. Remove the `perf/impl/rust-libp2p-quinn` implementation. 2. Introduce the `perf/impl/rust-libp2p/master` version of the rust-libp2p implementation. We can promote the latter to a proper version on the next rust-libp2p release.
With libp2p/rust-libp2p#3454 merged we can now test the new rust-libp2p QUIC implementation based on upstream quinn directly from rust-libp2p `master`. This commit does the following in libp2p/test-plans: 1. Remove the `perf/impl/rust-libp2p-quinn` implementation. 2. Introduce the `perf/impl/rust-libp2p/master` version of the rust-libp2p implementation. We can promote the latter to a proper version on the next rust-libp2p release.
Rewrite quic using quinn instead of quinn-proto. libp2p-quic::endpoint::Driver is eliminated (and that hard quinn-proto machinery). Also: - ECN bits are handled - Support Generic Send Offload (GSO) Pull-Request: #3454.
Description
Rewrite quic using quinn instead of quinn-proto. libp2p-quic::endpoint::Driver is eliminated (and that hard quinn-proto machinery). Also:
Notes
This PR preserves the original API and naming.
Testing hole punching:
Links to any relevant issues
Open Questions
Change checklist
I have added tests that prove my fix is effective or that my feature worksTODOs
Get rid of BoxedFuture in connection