commit | fed091edf49c4bc8e4dd04855571f1ccca0d8220 | [log] [tgz] |
---|---|---|
author | Victor Boivie <boivie@webrtc.org> | Thu Sep 16 10:58:20 2021 |
committer | WebRTC LUCI CQ <webrtc-scoped@luci-project-accounts.iam.gserviceaccount.com> | Thu Sep 16 13:14:12 2021 |
tree | a0fed0a5dca9438abf6cf4c6104924daa235233f | |
parent | 3b08fe3dcddf60f92ef3b09d68b2b449994094f3 [diff] |
dcsctp: Move last_assembled_tsn_watermark further The ReassemblyQueue will need to track which messages that have already been delivered to the client so that they are not re-delivered on e.g. retransmissions. It does that by tracking which TSNs that those messages were built from. It tracks that in two variables, `last_assembled_tsn_watermark` and `delivered_tsns_`, where the first one represent that all TSNs including and prior this one have been delivered and `delivered_tsns` contain additional ones when there are gaps. When receiving a FORWARD-TSN and asked to forget about some partially received messages, these two variables were updated correctly, but the `delivered_tsns_` were left in a state where it could be adjacent to the `last_assembled_tsn_watermark` - when `last_assembled_tsn_watermark` could actually have been moved further. Added consistency check (that would trigger in existing tests) and fixing the issue. This bug is quite benign, as any received chunk would've corrected the problem, and even at this faulty state, the ReassemblyQueue would function completely fine. Bug: webrtc:13154 Change-Id: Iaa7c612999c9dc609fc6e2fb3be2d0bd04534c90 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/232124 Reviewed-by: Florent Castelli <orphis@webrtc.org> Reviewed-by: Sergey Sukhanov <sergeysu@webrtc.org> Commit-Queue: Victor Boivie <boivie@webrtc.org> Cr-Commit-Position: refs/heads/main@{#35013}
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.