- From: CVS User abergkvi <cvsmail@w3.org>
- Date: Mon, 03 Jun 2013 14:34:24 +0000
- To: public-dap-commits@w3.org
Update of /sources/public/2011/webrtc/editor
In directory roscoe:/tmp/cvs-serv18296
Modified Files:
webrtc.html
Log Message:
Added 20130603 archived version.
--- /sources/public/2011/webrtc/editor/webrtc.html 2013/03/22 20:25:07 1.33
+++ /sources/public/2011/webrtc/editor/webrtc.html 2013/06/03 14:34:24 1.34
@@ -1354,21 +1354,25 @@
<dt>have-local-offer</dt>
- <dd>A local description, of type "offer", has been supplied.</dd>
+ <dd>A local description, of type "offer", has been successfully
+ applied.</dd>
<dt>have-remote-offer</dt>
- <dd>A remote description, of type "offer", has been supplied.</dd>
+ <dd>A remote description, of type "offer", has been successfully
+ applied.</dd>
<dt>have-local-pranswer</dt>
- <dd>A remote description of type "offer" has been supplied and a
- local description of type "pranswer" has been supplied.</dd>
+ <dd>A remote description of type "offer" has been successfully
+ applied and a local description of type "pranswer" has been
+ successfully applied.</dd>
<dt>have-remote-pranswer</dt>
- <dd>A local description of type "offer" has been supplied and a
- remote description of type "pranswer" has been supplied.</dd>
+ <dd>A local description of type "offer" has been successfully applied
+ and a remote description of type "pranswer" has been successfully
+ applied.</dd>
<dt>closed</dt>
@@ -1879,9 +1883,7 @@
<p>Creates a new <code><a>RTCDataChannel</a></code> object with the
given label. The <code><a>RTCDataChannelInit</a></code> dictionary
can be used to configure properties of the underlying channel such
- as <!--priority and--> data reliability. A corresponding
- <code><a>RTCDataChannel</a></code> object is dispatched at the
- other peer if the channel setup was successful.</p>
+ as <!--priority and--> data reliability.</p>
<p>When the <dfn id="dom-peerconnection-createdatachannel">
<code>createDataChannel()</code></dfn> method is invoked, the user
@@ -1893,7 +1895,7 @@
<a href=
"#dom-peerconnection-signaling-state"><code>RTCPeerConnection</code>
signalingState</a> is <code>closed</code>, throw an
- <code>INVALID_STATE</code> exception.</p>
+ <code>INVALID_STATE</code> exception and abort these steps.</p>
</li>
<li>
@@ -1908,28 +1910,56 @@
</li>
<li>
- <p>Initialize <var>channel</var>'s <code><a href=
- "#dom-datachannel-reliable">reliable</a></code> attribute to
- true.</p>
+ <p>If the second (dictionary) argument is present, initialize
+ <var>channel</var>'s <code><a href=
+ "#dom-datachannel-ordered">ordered</a></code>, <code><a href=
+ "#dom-datachannel-maxretransmittime">maxRetransmitTime</a></code>,
+ <code><a href=
+ "#dom-datachannel-maxretransmits">maxRetransmits</a></code>,
+ <code><a href="#dom-datachannel-protocol">protocol</a></code>,
+ <code><a href="#dom-datachannel-negotiated">negotiated</a></code>
+ and <code><a href="#dom-datachannel-id">id</a></code> attributes
+ to the values of their corresponding dictionary members (if
+ present in the dictionary).</p>
</li>
<li>
- <p>If the second argument is present and it contains a
- <code><a href=
- "#widl-RTCDataChannelInit-reliable">reliable</a></code>
- dictionary member, then set <var>channel</var>'s <code><a href=
- "#dom-rtcdatachannel-reliable">reliable</a></code> attribute to
- the dictionary member value.</p>
+ <p>If both the <code><a href=
+ "#dom-datachannel-maxretransmittime">maxRetransmitTime</a></code>
+ and <code><a href=
+ "#dom-datachannel-maxretransmits">maxRetransmits</a></code>
+ attributes are set (not null), then throw a
+ <code>SyntaxError</code> exception and abort these steps.</p>
+ </li>
+
+ <li>
+ <p>If the value of the <code><a href
+ "#dom-datachannel-protocol">protocol</a></code> attribute fails
+ to match the requirements of the WebRTC DataChannel Protocol
+ specification, then throw a <code>SyntaxError</code> exception
+ and abort these steps.</p>
</li>
<li>
- <p>Return <var>channel</var> and continue these steps in the
- background.</p>
+ <p>If the value of the <code><a href=
+ "#dom-datachannel-id">id</a></code> attribute is null, initialize
+ it to a value generated by the user agent, according to the
+ WebRTC DataChannel Protocol specification, and skip to the next
+ step. Otherwise, if the value of the <code><a href=
+ "#dom-datachannel-id">id</a></code> attribute is taken by an
+ existing <code><a>RTCDataChannel</a></code>, throw a
+ <code>TBD</code> exception and abort these steps.</p>
+ </li>
+
+ <li>
+ <p>Return <var>channel</var> and continue the following steps in
+ the background.</p>
</li>
<li>
<p>Create <var>channel</var>'s associated <a>underlying data
- transport</a>.</p>
+ transport</a> and configure it according to the relevant
+ properties of <var>channel</var>.</p>
</li>
</ol>
</dd>
@@ -1937,7 +1967,7 @@
<dt>attribute EventHandler ondatachannel</dt>
<dd>This event handler, of type <code><a href=
- "#event-peerconnection-datachannel">datachannel</a></code> , MUST be
+ "#event-datachannel">datachannel</a></code>, MUST be
supported by all objects implementing the
<code><a>RTCPeerConnection</a></code> interface.</dd>
</dl>
@@ -1949,24 +1979,54 @@
<p>The <code><a>RTCDataChannel</a></code> interface represents a
bi-directional data channel between two peers. A
<code><a>RTCDataChannel</a></code> is created via a factory method on an
- <code><a>RTCPeerConnection</a></code> object. The corresponding
- <code><a>RTCDataChannel</a></code> object is then dispatched at the other
- peer if the channel setup was successful.</p>
+ <code><a>RTCPeerConnection</a></code> object.</p>
+
+ <p>There are two ways to establish a connection with <code>
+ <a>RTCDataChannel</a></code>. The first way is to simply create a <code>
+ <a>RTCDataChannel</a></code> at one of the peers with the <code><a href=
+ "#widl-RTCDataChannelInit-negotiated">negotiated</a></code> <code>
+ <a>RTCDataChannelInit</a></code> dictionary member unset or set to its
+ default value true. This will negotiate the new channel in-band and
+ trigger a <code><a>RTCDataChannelEvent</a></code> with the corresponding
+ <code><a>RTCDataChannel</a></code> object at the other peer. The second
+ way is to create a <code><a>RTCDataChannel</a></code> object with the
+ <code><a href="#widl-RTCDataChannelInit-negotiated">negotiated</a></code>
+ <code><a>RTCDataChannelInit</a></code> dictionary member set to false,
+ and signal out-of-band (e.g. via a web server) to the other side that it
+ should create a <code><a>RTCDataChannel</a></code> with a matching
+ <code><a href="#dom-datachannel-id">id</a></code>. This will connect the
+ two separately created <code><a>RTCDataChannel</a></code> objects. The
+ second way makes it possible to create channels with asymmetric
+ properties and to create channels in a declarative way by specifying
+ matching <code><a href="#widl-RTCDataChannelInit-id">ids</a></code>.</p>
<p>Each <code><a>RTCDataChannel</a></code> has an associated
<dfn>underlying data transport</dfn> that is used to transport actual
data to the other peer. The transport properties of the <a>underlying
- data transport</a>, such as reliability mode, are configured by the peer
- taking the initiative to create the channel. The other peer cannot change
- any transport properties of an offered data channel. The actual wire
- protocol between the peers is out of the scope for this
- specification.</p>
-
- <p>A <code><a>RTCDataChannel</a></code> created with <code><a href=
- "#dom-peerconnection-createdatachannel">createDataChannel()</a></code>
- MUST initially be in the <code>connecting</code> state. If the
+ data transport</a>, such as in order delivery settings and reliability
+ mode, are configured by the peer as the channel is created. The
+ properties of a channel cannot change after the channel has been created.
+ The actual wire protocol between the peers is specified by the WebRTC
+ DataChannel Protocol specification (TODO: reference needed).</p>
+
+ <p>A <code><a>RTCDataChannel</a></code> can be configured to operate in
+ different reliability modes. A reliable channel ensures that the data
+ is delivered at the other peer through retransmissions. An unreliable
+ channel is configured to either limit the number of retransmissions
+ (<code><a href=
+ "#widl-RTCDataChannelInit-maxRetransmits">maxRetransmits</a></code>) or
+ set a time during which retransmissions are allowed (<code><a href=
+ "#widl-RTCDataChannelInit-maxRetransmitTime">maxRetransmitTime</a></code>).
+ These properties can not be used simultaneously and an attempt to do so
+ will result in an error. Not setting any of these properties results in a
+ reliable channel.
+
+ <p>A <code><a>RTCDataChannel</a></code>, created with <code><a href=
+ "#dom-peerconnection-createdatachannel">createDataChannel()</a></code> or
+ dispatched via a <code><a>RTCDataChannelEvent</a></code>,
+ MUST initially be in the <code>connecting</code> state. When the
<code><a>RTCDataChannel</a></code> object’s <a>underlying data
- transport</a> is successfully set up, the user agent MUST <a href=
+ transport</a> is ready, the user agent MUST <a href=
"#announce-datachannel-open">announce the <code>RTCDataChannel</code> as
open</a>.</p>
@@ -1999,9 +2059,11 @@
</li>
</ol>
- <p>When an <a>underlying data transport</a> has been established, the
- user agent of the peer that did not initiate the creation process MUST
- queue a task to run the following steps:</p>
+ <p>When an <a>underlying data transport</a> has been negotiated (see
+ <code><a href=
+ "#widl-RTCDataChannelInit-negotiated">negotiated</a></code> ), the user
+ agent of the peer that did not initiate the creation process MUST queue a
+ task to run the following steps:</p>
<ol>
<li>
@@ -2012,45 +2074,34 @@
</li>
<li>
- <p>Let <var>configuration</var> be an information bundle with
- key-value pairs, received from the other peer as a part of the
- process to establish the <a>underlying data channel</a>.</p>
- </li>
-
- <li>
<p>Let <var>channel</var> be a newly created
<code><a>RTCDataChannel</a></code> object.</p>
</li>
<li>
- <p>Initialize <var>channel</var>'s <code><a href=
- "#dom-datachannel-label">label</a></code> attribute to value that
- corresponds to the "<code>label</code>" key in
- <var>configuration</var>.</p>
+ <p>Let <var>configuration</var> be an information bundle received
+ from the other peer as a part of the process to establish the
+ <a>underlying data channel</a> described by the WebRTC DataChannel
+ Protocol specification.</p>
</li>
<li>
<p>Initialize <var>channel</var>'s <code><a href=
- "#dom-datachannel-reliable">reliable</a></code> attribute to
- true.</p>
+ "#dom-datachannel-label">label</a></code>, <code><a href=
+ "#dom-datachannel-ordered">ordered</a></code>, <code><a href=
+ "#dom-datachannel-maxretransmittime">maxRetransmitTime</a></code>,
+ <code><a href=
+ "#dom-datachannel-maxretransmits">maxRetransmits</a></code>, <code>
+ <a href="#dom-datachannel-protocol">protocol</a></code>, <code>
+ <a href="#dom-datachannel-negotiated">negotiated</a></code> and
+ <code><a href="#dom-datachannel-id">id</a></code> attributes to their
+ corresponding values in <var>configuration</var>.</p>
</li>
<li>
- <p>If <var>configuration</var> contains a key named
- "<code>reliable</code>", set <var>channel</var>'s <code><a href=
- "#dom-datachannel-reliable">reliable</a></code> attribute to the
- corresponding value.</p>
- </li><!--
- <li>
- <p>Have the user agent <a href="#announce-datachannel-open">announce
- <var>connection</var> as open</a>.</p>
- </li>
- -->
-
- <li>
<p>Set <var>channel</var>'s <code><a href=
"#dom-datachannel-readystate">readyState</a></code> attribute to
- <code>open</code>.</p>
+ <code>connecting</code>.</p>
</li>
<li>
@@ -2126,15 +2177,73 @@
<code><a>RTCDataChannel</a></code> object was created.</p>
</dd>
- <dt>readonly attribute boolean reliable</dt>
+ <dt>readonly attribute boolean ordered</dt>
<dd>
<p>The <dfn id=
- "dom-datachannel-reliable"><code>RTCDataChannel.reliable</code></dfn>
+ "dom-datachannel-ordered"><code>RTCDataChannel.ordered</code></dfn>
attribute returns true if the <code><a>RTCDataChannel</a></code> is
- reliable, and false otherwise. The attribute MUST return the value to
- which it was set when the <code><a>RTCDataChannel</a></code> was
- created.</p>
+ ordered, and false if other of order delivery is allowed. The
+ attribute MUST return the value to which it was set when the <code>
+ <a>RTCDataChannel</a></code> was created.</p>
+ </dd>
+
+ <dt>readonly attribute unsigned short? maxRetransmitTime</dt>
+
+ <dd>
+ <p>The <dfn id=
+ "dom-datachannel-maxretransmittime"><code
+ >RTCDataChannel.maxRetransmitTime</code></dfn> attribute returns
+ the length of the time window (in milliseconds) during which
+ retransmissions may occur in unreliable mode, or null if unset. The
+ attribute MUST return the value to which it was set when the
+ <code><a>RTCDataChannel</a></code> was created.</p>
+ </dd>
+
+ <dt>readonly attribute unsigned short? maxRetransmits</dt>
+
+ <dd>
+ <p>The <dfn id=
+ "dom-datachannel-maxretransmits"><code
+ >RTCDataChannel.maxRetransmits</code></dfn> attribute returns
+ the maximum number of retransmissions that are attempted in
+ unreliable mode, or null if unset. The attribute MUST return the
+ value to which it was set when the <code><a>RTCDataChannel</a></code>
+ was created.</p>
+ </dd>
+
+ <dt>readonly attribute DOMString protocol</dt>
+
+ <dd>
+ <p>The <dfn id=
+ "dom-datachannel-protocol"><code>RTCDataChannel.protocol</code></dfn>
+ attribute returns the name of the sub-protocol used with this <code>
+ <a>RTCDataChannel</a></code> if any, or the empty string otherwise.
+ The attribute MUST return the value to which it was set when the
+ <code><a>RTCDataChannel</a></code> was created.</p>
+ </dd>
+
+ <dt>readonly attribute boolean negotiated</dt>
+
+ <dd>
+ <p>The <dfn id=
+ "dom-datachannel-negotiated"><code>RTCDataChannel.negotiated</code>
+ </dfn> attribute returns true if this <code><a>RTCDataChannel</a>
+ </code> was automatically negotiated, or false otherwise. The
+ attribute MUST return the value to which it was set when the <code>
+ <a>RTCDataChannel</a></code> was created.</p>
+ </dd>
+
+ <dt>readonly attribute unsigned short? id</dt>
+
+ <dd>
+ <p>The <dfn id=
+ "dom-datachannel-id"><code>RTCDataChannel.id</code>
+ </dfn> attribute returns the id for this <code><a>RTCDataChannel</a>
+ </code>. The id was either assigned by the user agent at channel
+ creation time or selected by the script. The attribute MUST return
+ the value to which it was set when the <code><a>RTCDataChannel</a>
+ </code> was created.</p>
</dd>
<!--
@@ -2308,7 +2417,53 @@
</dl>
<dl class="idl" title="dictionary RTCDataChannelInit">
- <dt>boolean reliable</dt>
+
+ <dt>boolean ordered = true</dt>
+
+ <dd>
+ <p>If set to false, data is allowed to be delivered out of order. The
+ default value of true, guarantees that data will be delivered in
+ order.</p>
+ </dd>
+
+ <dt>unsigned short? maxRetransmitTime = null</dt>
+
+ <dd>
+ <p>Limits the time during which the channel will retransmit data if
+ not successfully delivered.</p>
+ </dd>
+
+ <dt>unsigned short? maxRetransmits = null</dt>
+
+ <dd>
+ <p>Limits the number of times a channel will retransmit data if not
+ successfully delivered.</p>
+ </dd>
+
+ <dt>DOMString protocol = ""</dt>
+
+ <dd>
+ <p>Subprotocol name used for this channel.</p>
+ </dd>
+
+ <dt>boolean negotiated = true</dt>
+
+ <dd>
+ <p>The default value of true tells the user agent to negotiate the
+ channel and instruct the other peer to dispatch a corresponding
+ <code><a>RTCDataChannel</a></code> object. If set to false, the
+ negotiation is omitted and it is up to the script to create the
+ corresponding <code><a>RTCDataChannel</a></code> object at the
+ other peer.</p>
+ </dd>
+
+ <dt>unsigned short? id = null</dt>
[95 lines skipped]
Received on Monday, 3 June 2013 14:34:26 UTC