webrtc icon indicating copy to clipboard operation
webrtc copied to clipboard

[ICE/DTLS/SCTP] refactoring internal protocol implementation with deterministic state machine and less Mutex

Open rainliu opened this issue 3 years ago • 2 comments

currently ICE/DTLS/SCTP implementations follow gorountine style, instead of idiomatic rust style. Try to refactor them to more idiomatic rust style with less Mutex.

rainliu avatar Sep 15 '21 19:09 rainliu

We should follow quinn's implementation: https://github.com/quinn-rs/quinn

  • quinn-proto: Deterministic state machine of the protocol which performs no I/O internally and is suitable for use with custom event loops (and potentially a C or C++ API).
  • quinn: High-level async API based on tokio, see for usage. This will be used by most developers. (Basic benchmarks are included.)

rainliu avatar Nov 20 '21 17:11 rainliu

I have some work on this front (for ICE) in a separate repository if it would be interesting.

https://github.com/ystreet/librice/tree/meson-cargo-build/librice-proto

ystreet avatar Mar 05 '24 07:03 ystreet