-
Notifications
You must be signed in to change notification settings - Fork 51
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
Support for DTLS and other transport layers, make client async #88
Support for DTLS and other transport layers, make client async #88
Conversation
features: - Client now uses async and tokio - Observe now takes ownership of the client to avoid missed packets - DTLS is supported using webrtc-rs - DTLS is a feature, can be turned off if needed - Other backends for transport can be provided by users. They must be able to provide a SockAddr for use with observe, butthis could be theoretically hardcoded if you want to use some non-ip protocol - Server is reworked to support multiple listeners at the same time - Server should no longer block on a single long async request handlers - Added tests for DTLS using PSK and PKI - Added example for DTLS using PSK - Moved all tests to use `tokio::test`
It's a long-awaited improvement of this repo. Thank you for your tremendous help. |
hmm, it looks like requests may occasionally fail (udp makes no guarantees for reaching the target, so this is expected). Maybe it would make sense to do retries in the future. I would do that in a separate PR after this is merged though |
Yeah. Retries would reduce the probability of errors. |
OK, this looks good to go from my side. Please consider reviewing. Since the changes in this PR are massively breaking, it might also make sense to do some cleanup before doing a major release (e.g., allow options on lowest level of requests) |
Good job. I have two questions in the reviewing. Please have a look. |
are the comments published? I see no comments |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
some suggestions
sorry. forgot to submit |
ok, changes are implemented. I have also prepared a PR where I add retries to the client over UDP / DTLS if a confirmable message is sent, as well as some basic handling for non-piggybacked responses. I will open it once this is merged, so maybe it would make sense to wait a little before a next release? |
features:
tokio::test
Still not sure about: