-
Notifications
You must be signed in to change notification settings - Fork 120
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
Use a single socket for accept and connect #1607
Comments
I agree that having a p2p capability would be useful. We're going to be investigating this use case in the next few months. |
Tests are failing because of port reuse issues and shutdown, should be fixed with the other PRs merged Needed to allow work on hole punching in the short term. Ref #111 See - aws/s2n-quic#1607 - aws/s2n-quic#1608
any progress? |
Unfortunately no updates on this |
if you can provide some resources and an outline on what needs to be done (i.e. checklist), I could try to write something up over the next few weekends. |
That would be great! I will try to get a list of things together by Friday. Initially, I think the biggest issue is going to be figuring out how to account for the use of |
lmk if you've made any progress on making a list of resources/requirements. |
I haven't had a chance unfortunately. Looking at it a bit more, this is going to be a pretty large change that touches quite a bit of the codebase and I'm still not totally sure what it would look like at the end of the refactor. We're currently working on a few other refactors for performance improvements and my worry is we end up getting into complicated merge conflicts. With that being said, I do want to get this feature addressed. But, due to priorities, it likely won't be at least a few months until we can get the time to actually define how it'll look in practice. |
Tests are failing because of port reuse issues and shutdown, should be fixed with the other PRs merged Needed to allow work on hole punching in the short term. Ref #111 See - aws/s2n-quic#1607 - aws/s2n-quic#1608
Tests are failing because of port reuse issues and shutdown, should be fixed with the other PRs merged Needed to allow work on hole punching in the short term. Ref #111 See - aws/s2n-quic#1607 - aws/s2n-quic#1608
Problem:
I'd like to use a
s2n_quic
socket both for accepting inbound connections and initiating outbound connections.We're investigating using
s2n_quic
in a peer-to-peer scenario. There, it is very common for an endpoint to both act as a server (accepting incoming connections) and as a client (initiating outbound connections). When connecting to many peers and holding these connections for a longer time, it saves resources and ports to do it all over a single socket. It also makes holepunching easier if having a single socket for many connections.If I read things correctly, QUIC as a protocol supports this just fine. Other implementations also support this, e.g.
quinn::Endpoint
has bothconnec
andaccept
methods.Solution:
Provide a
connect
method onServer
or expose anEndpoint
that can act both as a server (accept
) and a client (connect
).Requirements / Acceptance Criteria:
Out of scope:
The text was updated successfully, but these errors were encountered: