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

Multi-threading and path changing support #509

Open
alexpokotilo opened this issue Aug 21, 2024 · 2 comments
Open

Multi-threading and path changing support #509

alexpokotilo opened this issue Aug 21, 2024 · 2 comments

Comments

@alexpokotilo
Copy link
Contributor

alexpokotilo commented Aug 21, 2024

Lsquic is great and thanks for sharing this work!

I need to support many(thousands) http3 connections with huge output bandwidth(Gigs per seconds). Requests are small, replies are big.
I decided to read UDP socket in single listen thread, copy datagrams and peer/local addrs and forward to worker threads.
Each Worker has it's engine. I split clients based on hash or peer addr and port.
But what should I need to support changing path when peer addr becomes different ?
Thank in advance!

p.s
If my design may be simplified - I'm open to change it.

@alexpokotilo
Copy link
Contributor Author

@dtikhonov
Dmitri, I'm sorry bothering you by direct mention, but could you please suggest what to do in this case ?

@alexpokotilo
Copy link
Contributor Author

@dtikhonov,
just comfirm I need to use lsquic_cid_from_packet to route udp packet into right worker in case of changing route. It's all I need to hear. I got Idea from here https://github.com/litespeedtech/openlitespeed/blob/master/src/quic/udplistener.cpp

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

1 participant