commit | 01a0db2e74b347db1e8720c78c208b218fe6636f | [log] [tgz] |
---|---|---|
author | Victor Boivie <boivie@webrtc.org> | Fri Apr 22 11:33:36 2022 |
committer | WebRTC LUCI CQ <webrtc-scoped@luci-project-accounts.iam.gserviceaccount.com> | Thu Apr 28 08:28:33 2022 |
tree | 1faec8028b82b1fef42f3cd470a5491a313d3441 | |
parent | 03486fc1979b62e96740326d71fbee909eac717c [diff] |
dcsctp: Don't re-nack a fragment until sent again This is mainly an issue when sending items with partial reliability, with high bandwidth on a link with packet loss. In SCTP, when a fragment isn't included in the SACK a number of times, it's scheduled to be retransmitted or abandoned, if it has been retransmitted too many times already (depending configuration). Before this CL, if a fragment was NACKed and scheduled for retransmission, but couldn't be retransmitted immediately (due to congestion window not allowing it), future received SACKs - that would still indicate that the fragment hasn't been received yet - would still increment the retransmission counter. Which wasn't fair, because this fragment hasn't had a chance to be retransmitted yet. With this CL, the fragment will only have its retransmission counter increased when it is not already scheduled to be retransmitted, but actually sent on the wire and considered in-flight again. Bug: webrtc:12943 Change-Id: I2af08255650221c044cc14591a5835c885e94c58 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/259825 Reviewed-by: Harald Alvestrand <hta@webrtc.org> Commit-Queue: Victor Boivie <boivie@webrtc.org> Cr-Commit-Position: refs/heads/main@{#36683}
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.