- From: Stefan Hakansson LK <stefan.lk.hakansson@ericsson.com>
- Date: Wed, 13 Jun 2012 08:19:16 +0200
- To: public-webrtc@w3.org
Randell, thanks for writing this up! A comment in-line below. On 06/12/2012 10:25 AM, Randell Jesup wrote: > Building on the discussions today in the WebRTC W3 WG meeting: > > In PeerConnection, replace > > DataChannel createDataChannel ( > [TreatNullAs=EmptyString] DOMString? label, > optional DataChannelInit? dataChannelDict); > > With > > DataConnection createDataConnection(short initialStreams); > > Add: > > interface DataConnection { > DataChannel createDataChannel ( > [TreatNullAs=EmptyString] DOMString? label, > optional DataChannelInit? dataChannelDict); > attribute short maxStreams; > const unsigned short CONNECTING = 0; > const unsigned short OPEN = 1; > const unsigned short CLOSING = 2; > const unsigned short CLOSED = 3; > readonly attribute unsigned short readyState; > [TreatNonCallableAsNull] > attribute Function? onopen; > [TreatNonCallableAsNull] > attribute Function? onerror; > [TreatNonCallableAsNull] > attribute Function? onclose; > void close (); > }; > > readyState may need to be changed to strings > > Calling createDataConnection() before CreateOffer will cause the offer > to include a DataConnection. Calling it after the PeerConnection is > connected will cause a renegotiation. > > There can only be one DataConnection per PeerConnection at any time; > attempting to create a second one will fail. I still am not convinced about the need for this DataConnection object. Since there will be only one DataConnection per PeerConnection, there is a one-to-one mapping between them. What do the app developer (on anyone else) gain by us introducing the DataConnection object? > > maxStreams lets you renegotiate the maximum number of simultaneous open > streams. > > Plus appropriate language about what happens if you close/destroy the > DataConnection (close/disconnect all DataChannels, etc) > > Open question: How does this interact with CreateAnswer? They can call > createDataConnection and then CreateAnswer, but they need to know that > the offer asked for a DataConnection. (Justin, Cullen)? > > Open question: createDataChannel before onopen: does it queue? Given > we've exposed this object, I'd guess no, and trying to create one when > not in the open readyState will fail. > > Open question: Do we need a global DataConnection priority, or just > priorities on the individual DataChannels? >
Received on Wednesday, 13 June 2012 06:19:41 UTC