{"action":"created","issue":{"url":"https://api.github.com/repos/w3c/webrtc-pc/issues/1821","repository_url":"https://api.github.com/repos/w3c/webrtc-pc","labels_url":"https://api.github.com/repos/w3c/webrtc-pc/issues/1821/labels{/name}","comments_url":"https://api.github.com/repos/w3c/webrtc-pc/issues/1821/comments","events_url":"https://api.github.com/repos/w3c/webrtc-pc/issues/1821/events","html_url":"https://github.com/w3c/webrtc-pc/issues/1821","id":310273913,"number":1821,"title":"RTCPeerConnection.close procedure: Data Channel & SCTP questions","user":{"login":"lgrahl","id":1793755,"avatar_url":"https://avatars3.githubusercontent.com/u/1793755?v=4","gravatar_id":"","url":"https://api.github.com/users/lgrahl","html_url":"https://github.com/lgrahl","followers_url":"https://api.github.com/users/lgrahl/followers","following_url":"https://api.github.com/users/lgrahl/following{/other_user}","gists_url":"https://api.github.com/users/lgrahl/gists{/gist_id}","starred_url":"https://api.github.com/users/lgrahl/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lgrahl/subscriptions","organizations_url":"https://api.github.com/users/lgrahl/orgs","repos_url":"https://api.github.com/users/lgrahl/repos","events_url":"https://api.github.com/users/lgrahl/events{/privacy}","received_events_url":"https://api.github.com/users/lgrahl/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":1,"created_at":"2018-03-31T21:35:26Z","updated_at":"2018-03-31T21:58:37Z","closed_at":null,"author_association":"CONTRIBUTOR","body":"I have a bunch of questions for the closing procedure of `RTCPeerConnection.close`:\r\n\r\n1. The `ReadyState` of the `RTCDataChannel`s is updated to `closed`. I'm assuming here this means the data channels will be closed in an abrupt manner. If you don't think this is the case, ignore the sub-steps below.\r\n    1. Should we add a note that this means data channels will be closed abruptly and the *closing* procedure is **not** invoked?\r\n        (I think we should)\r\n    2. Does that mean the `onclose` event will fire? Related: https://github.com/w3c/webrtc-pc/issues/1799\r\n        (I don't think it needs to since we have `RTCSctpTransport.onstatechange`. Edit: Having said that, I would generally still prefer to get those events even though there is this logic to not fire when it's due to user actions.)\r\n    3. Is the *closed* procedure invoked (see below)? Should it fire the `RTCError` event?\r\n     \r\n         > 2 . Set channel's [[ReadyState]] slot to closed.\r\n         > 3 . Fire an RTCError event at channel with errorDetail set to \"data-channel-failure\".\r\n         > 4 . Fire a simple event named close at channel.\r\n\r\n        (I believe it should invoke the *closed* procedure and reference that. And I think it should also fire since that's a non-graceful close.)\r\n2. The `SCTPTransportState` slot is updated to `closed`. Does that mean the SCTP association [will be aborted or terminated gracefully](https://tools.ietf.org/html/draft-ietf-rtcweb-data-channel-13#section-6.2)?\r\n\r\n   (I think it should state to send an SCTP ABORT chunk and be done with it since all data channels have already been closed non-gracefully and therefore all data in-flight is lost.)"},"comment":{"url":"https://api.github.com/repos/w3c/webrtc-pc/issues/comments/377726353","html_url":"https://github.com/w3c/webrtc-pc/issues/1821#issuecomment-377726353","issue_url":"https://api.github.com/repos/w3c/webrtc-pc/issues/1821","id":377726353,"user":{"login":"lgrahl","id":1793755,"avatar_url":"https://avatars3.githubusercontent.com/u/1793755?v=4","gravatar_id":"","url":"https://api.github.com/users/lgrahl","html_url":"https://github.com/lgrahl","followers_url":"https://api.github.com/users/lgrahl/followers","following_url":"https://api.github.com/users/lgrahl/following{/other_user}","gists_url":"https://api.github.com/users/lgrahl/gists{/gist_id}","starred_url":"https://api.github.com/users/lgrahl/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lgrahl/subscriptions","organizations_url":"https://api.github.com/users/lgrahl/orgs","repos_url":"https://api.github.com/users/lgrahl/repos","events_url":"https://api.github.com/users/lgrahl/events{/privacy}","received_events_url":"https://api.github.com/users/lgrahl/received_events","type":"User","site_admin":false},"created_at":"2018-03-31T21:58:37Z","updated_at":"2018-03-31T21:58:37Z","author_association":"CONTRIBUTOR","body":"And to add another thing: I would propose to have both closing graceful (could return a `Promise`) and non-graceful for WebRTC NV."}}
{"actor":{"display_login":"lgrahl"}}