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

Investigate UDP transport #144

Open
LeeSmet opened this issue Mar 1, 2024 · 3 comments
Open

Investigate UDP transport #144

LeeSmet opened this issue Mar 1, 2024 · 3 comments
Labels
type_feature New feature or request

Comments

@LeeSmet
Copy link
Contributor

LeeSmet commented Mar 1, 2024

While the current implementation using both tcp and quic work, there might be benefits to implementing proper "plain" UDP sockets. While these won't be useable with the current connection trait, an approach would be to add a a slightly differnet read/write loop for this. The current frames can be encoded pretty easily, and we might be able to properly support recvmmsg and sendmmsg (double m intended yes)

@LeeSmet LeeSmet added the type_feature New feature or request label Mar 1, 2024
@LeeSmet
Copy link
Contributor Author

LeeSmet commented Mar 1, 2024

If we do implement this, the lossy nature of the transport does mean we will also need to implement acknowledgements in the protocol

@LeeSmet
Copy link
Contributor Author

LeeSmet commented May 16, 2024

This will likely not be done as a result of #253. However, a hybrid solution might be possible (especially for quic), where protocol messages use reliable communication, and data forwarding uses plain udp. Quinn supports sending unreliable datagrams for instance. This would require reworking the connection trait

@iwanbk
Copy link
Member

iwanbk commented May 17, 2024

there might be benefits to implementing proper "plain" UDP sockets

what is the benefit?

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

No branches or pull requests

2 participants