Skip to content
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

Calling UdpStocketState::set_gro from quinn #2166

Open
stormshield-fabs opened this issue Mar 3, 2025 · 2 comments
Open

Calling UdpStocketState::set_gro from quinn #2166

stormshield-fabs opened this issue Mar 3, 2025 · 2 comments

Comments

@stormshield-fabs
Copy link

We are trying to update our dependency on quinn and would like to re-enable GRO on Windows, since we haven't encountered the problems described in #2041 (yet..?).

#2092 introduced the "off by default" behavior and a UdpSocketState::set_gro setter, but it looks like it cannot be easily called from quinn directly, because we never have access to this structure.

I've researched different options and would like to have some feedback about the best way to move forward:

  1. we could add a set_gro method on the AsyncUdpSocket trait
  2. if this is not acceptable for quinn (because it leaks a lower-level abstraction), the user could create a new runtime type and override Runtime::wrap_udp_socket to instantiate the UdpSocketState and call set_gro before returning the dyn AsyncUdpSocket.

@djc @mxinden @Ralith

@Ralith
Copy link
Collaborator

Ralith commented Mar 3, 2025

The intended workflow is to customize the runtime, yeah.

@mxinden
Copy link
Collaborator

mxinden commented Mar 5, 2025

We are trying to update our dependency on quinn and would like to re-enable GRO on Windows, since we haven't encountered the problems described in #2041 (yet..?).

Great to see more experimentation with the Windows API. Firefox Nightly still disables it due to the issues in #2041. We have reached out to Microsoft but haven't received a response. Please keep us posted @stormshield-fabs.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants