commit | 492296cc3c41020ed967e3c9e26468c8463ab420 | [log] [tgz] |
---|---|---|
author | Tommi <tommi@webrtc.org> | Sun Mar 12 15:59:25 2023 |
committer | WebRTC LUCI CQ <webrtc-scoped@luci-project-accounts.iam.gserviceaccount.com> | Sun Mar 12 17:28:14 2023 |
tree | 871d83ae0175352e3d197de476f7e348e729e5da | |
parent | 80b5f1dd73f5a5e33a42a384eb6a477ea79f06c6 [diff] |
Remove the `SctpDataChannel::config_` member variable. Instead there are direct member variables for the various relevant states, some weren't needed, some can be const but the `id` member in particular needs special handling and can't be const. For dealing with the stream id, we now have SctpSid. A class that does range validation, checks thread safety, handles the special `-1` case (for what's essentially an unsigned 16 bit int). Using a special type for this also has the effect that range checking happens more consistently (although I'm not modifying the structs in api/). With upcoming steps of avoiding thread hops, the ID may need to migrate to the network thread, which the thread checks will help with. Along the way, update SctpSidAllocator to use flat_set instead of std::set and moving some of the sctp data channel code to the cc file to help with more accurately tracking code coverage. Bug: webrtc:11547 Change-Id: Iea6e7647ab8f93052044c5afbcc449115206b4e9 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/296444 Commit-Queue: Tomas Gunnarsson <tommi@webrtc.org> Reviewed-by: Harald Alvestrand <hta@webrtc.org> Cr-Commit-Position: refs/heads/main@{#39539}
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.