- 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