mirror of
https://github.com/rustdesk/hbb_common.git
synced 2026-10-19 07:04:10 +00:00
846daf86f0e77bc8a0cc323b5bab2267431f8d04
The data channel's SCTP association runs RFC 4960's AIMD: a fast retransmit halves cwnd, a T3 drops it to one MTU, and on a path whose loss is random rather than congestion that pins the rate to MSS/(RTT*sqrt(p)) - about 1.3 Mbps at 70ms RTT and 1% loss - however idle the link is. KCP has always shipped its turbo profile (nc=1) with no congestion window, which is why the same link streams over KCP and crawls over WebRTC. The sctp fork now carries a process-wide switch that bypasses the two places gating sends on cwnd. Turn it on unless `allow-webrtc-congestion-control` is set: the same opt-in `allow-kcp-congestion-control` gives KCP, for the reason at `get_kcp_cc_enabled`. It is re-read on every new peer connection, so a changed option reaches the next session without a restart. Sender-side only: nothing is negotiated, and a browser or an older build on the other end interoperates. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_019aokqJuhjvB3kijXtAg5Ns
Description
No description provided
75 MiB
Languages
Rust
100%