- 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