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
-
https://searchfox.org/mozilla-central/source/netwerk/test/http3server/src/main.rs
- 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•5 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•5 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•5 months ago
|
Comment 4•4 months ago
|
||
Comment 5•4 months ago
|
||
Updated•4 months ago
|
Comment 6•4 months ago
|
||
Comment 7•4 months ago
|
||
Updated•4 months ago
|
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
•