commit | a55746808e4e3c3c1a9a5d443938a3c716e55a99 | [log] [tgz] |
---|---|---|
author | Victor Boivie <boivie@webrtc.org> | Mon Sep 25 11:32:59 2023 |
committer | WebRTC LUCI CQ <webrtc-scoped@luci-project-accounts.iam.gserviceaccount.com> | Mon Oct 02 16:05:11 2023 |
tree | 2f6f9e8ce3a10acf7c4998ecab23e624568bc71b | |
parent | 8e007bacdafacbf74227c0879c772809f25013c3 [diff] |
dcsctp: Only process meaningful FORWARD-TSN Similar to change I602a8552a9a4c853684fcf105309ec3d8073f2c2, which ensured that only new DATA chunks would be processed by the reassembly queue by utilizing the data tracker, the same is done for FORWARD-TSN chunks. By having the data tracker gate keeping what is provided to the reassembly queue, the reassembly queue can be simplified as well, which is an added bonus, by removing last_assembled_tsn_watermark_ and reassembled_messages_ as those were protecting the queue from re-delivering messages it had already delivered, but as now the data tracker would ensure that it wouldn't re-process DATA/FORWARD-TSNs, that would have the same effect. In this CL, we will still update those variables and save to the handover state, but not actually read from them, and then when this change has been rolled out on the servers, I can remove the variables as well. The core change is to move validation from ReassemblyQueue::Handle to DataTracker::HandleForwardTsn. Some tests have been moved/replicated into data_tracker_test.cc to ensure that it catches the issues that the reassembly queue did earlier. Bug: webrtc:14600 Change-Id: I75c1d5911185d594f73c8b1e6bcf776e88f5b7c7 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/321603 Commit-Queue: Victor Boivie <boivie@webrtc.org> Reviewed-by: Harald Alvestrand <hta@webrtc.org> Cr-Commit-Position: refs/heads/main@{#40856}
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.