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

quinn main update using async traits #80

Closed
wants to merge 1 commit into from

Conversation

FrankSpitulski
Copy link
Contributor

Quinn has removed the Open* Future structs that h3 was storing for polling. I tried storing it myself, but the lifetimes got very complicated. Then I tried using async traits and removing polling but got stuck again with lifetimes. I'll share my work in case this is the path you want to go down for keeping up to date with quinn, but in any case a breakage is coming with 0.9.0.

@seanmonstar
Copy link
Member

Is the short of it that quinn is removing polling methods and only exposing async fns for everything, now?

@FrankSpitulski
Copy link
Contributor Author

There are still some polling methods left. @Ralith or @djc may be able to answer about future plans.

@FrankSpitulski
Copy link
Contributor Author

Some discussion is in here https://gitter.im/djc/quinn

@Ralith
Copy link

Ralith commented Feb 10, 2022

See also previous discussion in #55.

Is the short of it that quinn is removing polling methods and only exposing async fns for everything, now?

That's the current state; it's much more maintainable. We could offer polling methods, but doing so is not a trivial amount of work.

@seanmonstar
Copy link
Member

I very much understand that. Encapsulating them in a trait is still annoying, but exposing them is too.

@Ralith
Copy link

Ralith commented Jun 2, 2022

We're discussing alternative approaches in quinn-rs/quinn#1357, and input would be welcome. Pure polling methods on Connection (for example) are difficult to provide since it's often highly valuable to maintain state specific to the attempt to perform an operation as is possible with returned futures, but there's open questions about to what extent those futures should be 'static, especially with GATs looming on the horizon, though apparently with some delays...

@DemiMarie
Copy link

GATs are now stable.

@djc
Copy link
Contributor

djc commented Sep 27, 2022

We just merged quinn-rs/quinn#1357.

@FrankSpitulski
Copy link
Contributor Author

I'll close this since it appears quinn is keeping named futures instead of async traits.

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

Successfully merging this pull request may close these issues.

5 participants