commit | cdd05f0cc1edd36ca5c61ab7154beab63fc3bbe7 | [log] [tgz] |
---|---|---|
author | Taylor Brandstetter <deadbeef@webrtc.org> | Thu May 31 20:23:32 2018 |
committer | Commit Bot <commit-bot@chromium.org> | Thu May 31 21:01:53 2018 |
tree | 0c980afa69c6d2151c0bcd0ebc9f4d2f4047e8ec | |
parent | 20e8cfb3414147f67047d2a0cbdb3aff6842b95c [diff] |
Implement proper SCTP data channel closing procedure. The proper closing procedure is: 1. Alice resets outgoing stream. 2. Bob receives incoming stream reset, resets his outgoing stream. 3. Alice receives incoming stream reset; channel closed! 4. Bob receives acknowledgement of reset; channel closed! https://tools.ietf.org/html/draft-ietf-rtcweb-data-channel-13#section-6.7 However, up until now we've been sending both an incoming and outgoing reset from the side initiating the closing procedure, and doing nothing on the remote side. This means that if you call "Close" and the remote endpoint is using an old version of WebRTC, the channel's state will be stuck at "closing" since the remote endpoint won't send a reset. Which is already what happens when Firefox is talking to Chrome. This CL also fixes an issue where the DataChannel's state prematurely went to "closed" before the closing procedure was complete. Which could result in a new DataChannel attempting to re-use the ID and failing. TBR=magjed@webrtc.org Bug: chromium:449934, webrtc:4453 Change-Id: Ic1ba813e46538c6c65868961aae6a9780d68a5e2 Reviewed-on: https://webrtc-review.googlesource.com/79061 Reviewed-by: Taylor Brandstetter <deadbeef@webrtc.org> Reviewed-by: Steve Anton <steveanton@webrtc.org> Commit-Queue: Taylor Brandstetter <deadbeef@webrtc.org> Cr-Commit-Position: refs/heads/master@{#23478}
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 http://www.webrtc.org/native-code/development for instructions on how to get started developing with the native code.
Authoritative list of directories that contain the native API header files.