Re: A small proposal to cleanup DataChannel construction.

On Wed, Apr 23, 2014 at 2:30 PM, Robin Raymond <robin@hookflash.com> wrote:

>
> [RR] see inline
>
>   Peter Thatcher <pthatcher@google.com>
>  April 23, 2014 at 5:22 PM
>
>
>
> On Wed, Apr 23, 2014 at 2:09 PM, Robin Raymond <robin@hookflash.com>wrote:
>
>>
>> WebRTC 1.0 which only uses data channel defines the init properties as
>> follows:
>>
>> dictionary RTCDataChannelInit {
>>   boolean ordered<http://www.w3.org/TR/webrtc/#widl-RTCDataChannelInit-ordered>= true;
>>   unsigned short? maxRetransmitTime<http://www.w3.org/TR/webrtc/#widl-RTCDataChannelInit-maxRetransmitTime>= null;
>>   unsigned short? maxRetransmits<http://www.w3.org/TR/webrtc/#widl-RTCDataChannelInit-maxRetransmits>= null;
>>   DOMString protocol<http://www.w3.org/TR/webrtc/#widl-RTCDataChannelInit-protocol>= "";
>>   boolean negotiated<http://www.w3.org/TR/webrtc/#widl-RTCDataChannelInit-negotiated>= false;
>>   unsigned short? id<http://www.w3.org/TR/webrtc/#widl-RTCDataChannelInit-id>= null;
>> };
>>
>> I suggest we "borrow" the parameter definition 'as is' unless there's
>> reason to not do it.
>>
>> ​
> I agree.  Isn't that what we've done already?​
>
>
> [RR] We did, but perhaps it's from an older spec. We had odd things in
> ours like "preset" and "stream". So I was puzzled.
>
>
>
>
>> [...]
>>
>
> ​Yes, we do, for the same reasons we wanted it for 1.0, and because we
> want 1.0 parity.
>
> And the answer is the same as for 1.0:  There is 1 bidirectional data
> channel per id.  ​If you both pick 30, then that's fine, each side only
> sees one channel.  I don't remember what the spec says about ondatachannel
> firing.  I'm hoping it says that if you've picked id 30 then it would never
> fire with id 30.  But it might say otherwise, and we should probably do the
> same as what it says.  Either way isn't that big of a problem, because
> presumably if you're picking your own id and using negotiated=false, then
> you're using the power tools and know what you're getting into.  I think
> most people will either use the defaults or use negotiated=true.
>
>
> [RR] I'm fine with the rules so long as they are clear an unambiguous. Who
> would have the answers to clarify some of these ambiguous situations?
>

​To answer that, I would go read the latest spec.​
​

>
>
>>
>> Likewise if a client uses id of "50" and creates a data channel, and
>> re-uses the same id of "50" and creates another data channel, do the
>> objects points to the same data channel or is that an error? What if a
>> pending "ondatachannel" was going to event but we created "50" first? This
>> id thing creates a bit of ambiguity in my mind for behavior and it needs
>> clear definition.
>>
>>
> ​I believe it's an error to pick a used id.  If you pick 30 twice or you
> pick 30 and the system randomly picks 30, you get an error.  ​ But we
> should check to make sure we do the same as the 1.0 spec.  Again, if you're
> mixing picking ids and letting the system, you're using the power tools and
> should know what you're getting into.
> ​
>
>
> [RR] Right, it should be the same. Just need some clarity on these
> things...
>
>
>
> [...]
>
>

Received on Wednesday, 23 April 2014 22:18:22 UTC