refactor http3server to use neqo-bin for I/O, timers, event-loop etc.
Categories
(Core :: Networking, enhancement, P2)
Tracking
()
Tracking | Status | |
---|---|---|
firefox128 | --- | fixed |
People
(Reporter: mail, Assigned: mail)
References
Details
(Whiteboard: [necko-triaged])
Attachments
(4 files, 1 obsolete file)
Actual results:
There are two server implementations based on neqo:
-
https://github.com/mozilla/neqo/tree/main/neqo-bin/src/server
- http3 and http09 implementation
- used for manual testing and QUIC Interop
-
- used to test Firefox
I assume one was once an exact copy of the other. Both implement their own I/O, timers, event loop, ... Since then, the two implementations diverged significantly. Especially (1) saw a lot of improvements in recent months:
- https://github.com/mozilla/neqo/pull/1564
- https://github.com/mozilla/neqo/pull/1569
- https://github.com/mozilla/neqo/pull/1578
- https://github.com/mozilla/neqo/pull/1581
- https://github.com/mozilla/neqo/pull/1604
- https://github.com/mozilla/neqo/pull/1612
- https://github.com/mozilla/neqo/pull/1676
- https://github.com/mozilla/neqo/pull/1692
- https://github.com/mozilla/neqo/pull/1707
- https://github.com/mozilla/neqo/pull/1708
- https://github.com/mozilla/neqo/pull/1727
- https://github.com/mozilla/neqo/pull/1753
- https://github.com/mozilla/neqo/pull/1756
- https://github.com/mozilla/neqo/pull/1766
- https://github.com/mozilla/neqo/pull/1772
- https://github.com/mozilla/neqo/pull/1786
- https://github.com/mozilla/neqo/pull/1787
- https://github.com/mozilla/neqo/pull/1788
- https://github.com/mozilla/neqo/pull/1794
- https://github.com/mozilla/neqo/pull/1806
- https://github.com/mozilla/neqo/pull/1808
- https://github.com/mozilla/neqo/pull/1848
- https://github.com/mozilla/neqo/pull/1866
At this point, bugs in (2) are hard to fix, see e.g. https://github.com/mozilla/neqo/issues/1801.
Expected results:
The goal of this Bugzilla bug is for (2) to leverage (1), thus removing all duplicate logic and having (2) benefit from all the recent improvements to (1).
I will attach a commit via phabricator shortly. First time. Please bear with me.
Updated•4 months ago
|
This patch depends on https://github.com/mozilla/neqo/pull/1878. I suggest we continue all high-level discussions on https://github.com/mozilla/neqo/pull/1878.
Comment 3•4 months ago
|
||
The Bugbug bot thinks this bug should belong to the 'Core::Networking' component, and is moving the bug to that component. Please correct in case you think the bot is wrong.
Updated•4 months ago
|
Comment 4•3 months ago
|
||
Comment 5•3 months ago
|
||
Updated•3 months ago
|
Comment 6•3 months ago
|
||
Comment 7•3 months ago
|
||
Updated•3 months ago
|
Pushed by kjang@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/727b6d605b4c neqo v0.7.8, r=necko-reviewers,valentin https://hg.mozilla.org/integration/autoland/rev/51506d5e23ba Patch socket2 to 0.5, r=glandium,supply-chain-reviewers https://hg.mozilla.org/integration/autoland/rev/e9579777256e vendor neqo-bin, r=necko-reviewers,supply-chain-reviewers,valentin https://hg.mozilla.org/integration/autoland/rev/82e0af79b39c refactor http3server to use neqo-bin for I/O, timers, event-loop etc. r=necko-reviewers,valentin,glandium,supply-chain-reviewers
https://hg.mozilla.org/mozilla-central/rev/727b6d605b4c
https://hg.mozilla.org/mozilla-central/rev/51506d5e23ba
https://hg.mozilla.org/mozilla-central/rev/e9579777256e
https://hg.mozilla.org/mozilla-central/rev/82e0af79b39c
Description
•