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

Using a different QUIC implementation #136

Open
tyalie opened this issue Mar 29, 2024 · 2 comments
Open

Using a different QUIC implementation #136

tyalie opened this issue Mar 29, 2024 · 2 comments

Comments

@tyalie
Copy link

tyalie commented Mar 29, 2024

I know that quic-go is the preferred solution here as they both share the same language. But I feel like that it would be a good idea to open up this application for allowing other QUIC implementations in its roots. e.g. we could then toy around with MsQuic which already supports connection migration or be able to switch over to a different stack that might become the reference implementation in the future.

i'm not fully sure how feasible that is but I just wanted to throw that idea into the pool and maybe get some feedback on it ^^

@francoismichel
Copy link
Owner

I would love being able to switch between QUIC/H3 stacks as I have already been playing a lot with Cloudflare's quiche in the past years, but we would need a good abstraction in front of all these different QUIC implems.

I have no good idea on how to achieve that in a reasonable amount of time and effort, as it would imply building that abstraction layer and binding it to the different implementations.
The only other stack that looks reachable is the recent QUIC implementation from Golang's team, but the implem is still at an early stage.

@tyalie
Copy link
Author

tyalie commented Apr 2, 2024

I would assume, that due to the multitude of different QUIC implementations on the market, somebody must have written an abstraction layer before. If we can find one that works, we could use that as a template.

Or are you rather worried regarding the ABI incompatibilities due to Go and e.g. C?

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

2 participants