Tweak DTLS-in-STUN filter benchmark filter to allow comparing 1.3 with pqc and with/without dtls-in-stun to vanilla DTLS 1.3 (truncated output): rtc_p2p_unittests --gtest_filter='*Bench*/*' --bench_iterations=25 --bench_server_candidates=1 --bench_pct_loss=0 | & grep RESULT | sort (truncated) [ dtls: server/1.2 ice: controlled pqc: 0 dtls_in_stun: 0 ]] RESULT: p10: 850 p50: 850 avg: 850 p95: 850 [ dtls: server/1.2 ice: controlled pqc: 0 dtls_in_stun: 1 ]] RESULT: p10: 650 p50: 650 avg: 650 p95: 650 [ dtls: server/1.3 ice: controlled pqc: 0 dtls_in_stun: 0 ]] RESULT: p10: 750 p50: 750 avg: 750 p95: 750 [ dtls: server/1.3 ice: controlled pqc: 0 dtls_in_stun: 1 ]] RESULT: p10: 550 p50: 550 avg: 550 p95: 550 [ dtls: server/1.3 ice: controlled pqc: 1 dtls_in_stun: 0 ]] RESULT: p10: 850 p50: 850 avg: 848 p95: 850 [ dtls: server/1.3 ice: controlled pqc: 1 dtls_in_stun: 1 ]] RESULT: p10: 650 p50: 650 avg: 650 p95: 650 Result: PQC+DTLS-in-STUN is still an improvement over DTLS12 and over vanilla DTLS13. The following test rtc_p2p_unittests --gtest_filter='*Bench*/*' --bench_iterations=25 --bench_server_candidates=1 | & grep RESULT | grep "1.2" loss: 0 ... [ dtls: server/1.2 ice: controlled pqc: 0 dtls_in_stun: 0 ]] RESULT: p10: 850 p50: 850 avg: 850 p95: 850 loss: 0 ... [ dtls: server/1.2 ice: controlled pqc: 0 dtls_in_stun: 1 ]] RESULT: p10: 650 p50: 650 avg: 650 p95: 650 loss: 5 ... [ dtls: server/1.2 ice: controlled pqc: 0 dtls_in_stun: 0 ]] RESULT: p10: 850 p50: 850 avg: 940 p95: 1300 loss: 5 ... [ dtls: server/1.2 ice: controlled pqc: 0 dtls_in_stun: 1 ]] RESULT: p10: 650 p50: 650 avg: 668 p95: 700 loss: 10 ... [ dtls: server/1.2 ice: controlled pqc: 0 dtls_in_stun: 0 ]] RESULT: p10: 850 p50: 900 avg: 1106 p95: 2060 loss: 10 ... [ dtls: server/1.2 ice: controlled pqc: 0 dtls_in_stun: 1 ]] RESULT: p10: 650 p50: 650 avg: 680 p95: 700 loss: 25 ... [ dtls: server/1.2 ice: controlled pqc: 0 dtls_in_stun: 0 ]] RESULT: p10: 870 p50: 1300 avg: 6208 p95: 11820 loss: 25 ... [ dtls: server/1.2 ice: controlled pqc: 0 dtls_in_stun: 1 ]] RESULT: p10: 650 p50: 800 avg: 976 p95: 1760 shows that even for DTLS 1.2 we had a problem with packet loss during the handshake which gets addressed by DTLS-in-STUN. Bug: webrtc:367395350 Change-Id: Ia335fb21a20a5588202469544c6d6cd8c5d831ba Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/432920 Commit-Queue: Philipp Hancke <philipp.hancke@googlemail.com> Reviewed-by: Harald Alvestrand <hta@webrtc.org> Reviewed-by: Jonas Oreland <jonaso@webrtc.org> Cr-Commit-Position: refs/heads/main@{#46470}
WebRTC is a free, open software project that provides browsers and mobile applications with Real-Time Communications (RTC) capabilities via simple APIs. The WebRTC components have been optimized to best serve this purpose.
Our mission: To enable rich, high-quality RTC applications to be developed for the browser, mobile platforms, and IoT devices, and allow them all to communicate via a common set of protocols.
The WebRTC initiative is a project supported by Google, Mozilla and Opera, amongst others.
See here for instructions on how to get started developing with the native code.
Authoritative list of directories that contain the native API header files.