|
3574 | 3574 | },
|
3575 | 3575 | {
|
3576 | 3576 | "html": "<p>Initialize <var>channel</var>’s <a data-link-type=\"dfn|abstract-op\" href=\"https://w3c.github.io/webrtc-pc/#dfn-data-transport\" class=\"internalDFN\" id=\"ref-for-dfn-data-transport-17\">underlying data transport</a> to <var>dataHolder</var>’s <a data-link-type=\"dfn|abstract-op\" href=\"https://w3c.github.io/webrtc-pc/#dfn-data-transport\" class=\"internalDFN\" id=\"ref-for-dfn-data-transport-18\">underlying data transport</a>.</p>"
|
| 3577 | + }, |
| 3578 | + { |
| 3579 | + "html": "<p>The user agent <em class=\"rfc2119\">MUST</em> keep a strong reference from <var>channel</var>'s <a data-xref-type=\"_IDL_\" data-link-type=\"interface\" data-lt=\"Window\" data-cite=\"html\" data-cite-path=\"/nav-history-apis.html\" data-cite-frag=\"window\" href=\"https://html.spec.whatwg.org/multipage/nav-history-apis.html#window\"><code>Window</code></a> or\n <a data-xref-type=\"_IDL_\" data-link-type=\"interface\" data-lt=\"WorkerGlobalScope\" data-cite=\"html\" data-cite-path=\"/workers.html\" data-cite-frag=\"workerglobalscope\" href=\"https://html.spec.whatwg.org/multipage/workers.html#workerglobalscope\"><code>WorkerGlobalScope</code></a> to <var>channel</var> while the <a data-xref-type=\"_IDL_\" data-link-type=\"idl\" data-lt=\"RTCDataChannel\" href=\"https://w3c.github.io/webrtc-pc/#dom-rtcdatachannel\" class=\"internalDFN\" id=\"ref-for-dom-rtcdatachannel-38\"><code>RTCDataChannel</code></a> object that\n originally created its <a data-link-type=\"dfn|abstract-op\" href=\"https://w3c.github.io/webrtc-pc/#dfn-data-transport\" class=\"internalDFN\" id=\"ref-for-dfn-data-transport-19\">underlying data transport</a> remains alive.</p>" |
3577 | 3580 | }
|
3578 | 3581 | ]
|
3579 | 3582 | },
|
3580 | 3583 | {
|
3581 | 3584 | "name": "unable to create an RTCDataChannel",
|
3582 | 3585 | "href": "https://w3c.github.io/webrtc-pc/#dfn-unable-to-create-an-rtcdatachannel",
|
3583 |
| - "html": "In some cases, the user agent may be <dfn id=\"dfn-unable-to-create-an-rtcdatachannel\" tabindex=\"0\" aria-haspopup=\"dialog\" data-dfn-type=\"dfn\">unable to create an\n <code>RTCDataChannel</code></dfn> 's <a data-link-type=\"dfn|abstract-op\" href=\"https://w3c.github.io/webrtc-pc/#dfn-data-transport\" class=\"internalDFN\" id=\"ref-for-dfn-data-transport-20\">underlying data transport</a>. For\n example, the data channel's <a data-link-type=\"idl\" data-xref-type=\"attribute|dict-member|const\" data-link-for=\"RTCDataChannel\" data-xref-for=\"RTCDataChannel\" href=\"https://w3c.github.io/webrtc-pc/#dom-rtcdatachannel-id\" class=\"internalDFN\" id=\"ref-for-dom-rtcdatachannel-id-3\"><code>id</code></a> may be outside\n the range negotiated by the [<cite><a class=\"bibref\" data-link-type=\"biblio\" href=\"https://w3c.github.io/webrtc-pc/#bib-rfc8831\" title=\"WebRTC Data Channels\">RFC8831</a></cite>] implementations in the\n SCTP handshake. When the user agent determines that an\n <a data-xref-type=\"_IDL_\" data-link-type=\"idl\" data-lt=\"RTCDataChannel\" href=\"https://w3c.github.io/webrtc-pc/#dom-rtcdatachannel\" class=\"internalDFN\" id=\"ref-for-dom-rtcdatachannel-40\"><code>RTCDataChannel</code></a>'s <a data-link-type=\"dfn|abstract-op\" href=\"https://w3c.github.io/webrtc-pc/#dfn-data-transport\" class=\"internalDFN\" id=\"ref-for-dfn-data-transport-21\">underlying data transport</a> cannot be\n created, the user agent <em class=\"rfc2119\">MUST</em> queue a task to run the following\n steps:", |
| 3586 | + "html": "In some cases, the user agent may be <dfn id=\"dfn-unable-to-create-an-rtcdatachannel\" tabindex=\"0\" aria-haspopup=\"dialog\" data-dfn-type=\"dfn\">unable to create an\n <code>RTCDataChannel</code></dfn> 's <a data-link-type=\"dfn|abstract-op\" href=\"https://w3c.github.io/webrtc-pc/#dfn-data-transport\" class=\"internalDFN\" id=\"ref-for-dfn-data-transport-21\">underlying data transport</a>. For\n example, the data channel's <a data-link-type=\"idl\" data-xref-type=\"attribute|dict-member|const\" data-link-for=\"RTCDataChannel\" data-xref-for=\"RTCDataChannel\" href=\"https://w3c.github.io/webrtc-pc/#dom-rtcdatachannel-id\" class=\"internalDFN\" id=\"ref-for-dom-rtcdatachannel-id-3\"><code>id</code></a> may be outside\n the range negotiated by the [<cite><a class=\"bibref\" data-link-type=\"biblio\" href=\"https://w3c.github.io/webrtc-pc/#bib-rfc8831\" title=\"WebRTC Data Channels\">RFC8831</a></cite>] implementations in the\n SCTP handshake. When the user agent determines that an\n <a data-xref-type=\"_IDL_\" data-link-type=\"idl\" data-lt=\"RTCDataChannel\" href=\"https://w3c.github.io/webrtc-pc/#dom-rtcdatachannel\" class=\"internalDFN\" id=\"ref-for-dom-rtcdatachannel-42\"><code>RTCDataChannel</code></a>'s <a data-link-type=\"dfn|abstract-op\" href=\"https://w3c.github.io/webrtc-pc/#dfn-data-transport\" class=\"internalDFN\" id=\"ref-for-dfn-data-transport-22\">underlying data transport</a> cannot be\n created, the user agent <em class=\"rfc2119\">MUST</em> queue a task to run the following\n steps:", |
3584 | 3587 | "rationale": ".algorithm",
|
3585 | 3588 | "steps": [
|
3586 | 3589 | {
|
3587 |
| - "html": "<p>\n Let <var>channel</var> be the <a data-xref-type=\"_IDL_\" data-link-type=\"idl\" data-lt=\"RTCDataChannel\" href=\"https://w3c.github.io/webrtc-pc/#dom-rtcdatachannel\" class=\"internalDFN\" id=\"ref-for-dom-rtcdatachannel-41\"><code>RTCDataChannel</code></a> object for\n which the user agent could not create an <a data-link-type=\"dfn|abstract-op\" href=\"https://w3c.github.io/webrtc-pc/#dfn-data-transport\" class=\"internalDFN\" id=\"ref-for-dfn-data-transport-22\">underlying data transport</a>.\n </p>" |
| 3590 | + "html": "<p>\n Let <var>channel</var> be the <a data-xref-type=\"_IDL_\" data-link-type=\"idl\" data-lt=\"RTCDataChannel\" href=\"https://w3c.github.io/webrtc-pc/#dom-rtcdatachannel\" class=\"internalDFN\" id=\"ref-for-dom-rtcdatachannel-43\"><code>RTCDataChannel</code></a> object for\n which the user agent could not create an <a data-link-type=\"dfn|abstract-op\" href=\"https://w3c.github.io/webrtc-pc/#dfn-data-transport\" class=\"internalDFN\" id=\"ref-for-dfn-data-transport-23\">underlying data transport</a>.\n </p>" |
3588 | 3591 | },
|
3589 | 3592 | {
|
3590 | 3593 | "html": "<p>\n Set <var>channel</var>.<a data-xref-type=\"attribute\" data-link-type=\"attribute\" data-link-for=\"RTCDataChannel\" data-xref-for=\"RTCDataChannel\" data-lt=\"[[ReadyState]]\" href=\"https://w3c.github.io/webrtc-pc/#dfn-readystate\" class=\"internalDFN\" id=\"ref-for-dfn-readystate-14\"><code>[[ReadyState]]</code></a> to\n \"<a data-link-type=\"idl\" data-xref-type=\"enum-value\" data-link-for=\"RTCDataChannelState\" data-xref-for=\"RTCDataChannelState\" href=\"https://w3c.github.io/webrtc-pc/#dom-rtcdatachannelstate-closed\" class=\"internalDFN\" id=\"ref-for-dom-rtcdatachannelstate-closed-6\"><code>closed</code></a>\".\n </p>"
|
|
3598 | 3601 | ]
|
3599 | 3602 | },
|
3600 | 3603 | {
|
3601 |
| - "html": "When an <a data-xref-type=\"_IDL_\" data-link-type=\"idl\" data-lt=\"RTCDataChannel\" href=\"https://w3c.github.io/webrtc-pc/#dom-rtcdatachannel\" class=\"internalDFN\" id=\"ref-for-dom-rtcdatachannel-42\"><code>RTCDataChannel</code></a> message has\n been received via the <a data-link-type=\"dfn|abstract-op\" href=\"https://w3c.github.io/webrtc-pc/#dfn-data-transport\" class=\"internalDFN\" id=\"ref-for-dfn-data-transport-23\">underlying data transport</a> with\n type <var>type</var> and data <var>rawData</var>, the user agent\n <em class=\"rfc2119\">MUST</em> queue a task to run the following steps:", |
| 3604 | + "html": "When an <a data-xref-type=\"_IDL_\" data-link-type=\"idl\" data-lt=\"RTCDataChannel\" href=\"https://w3c.github.io/webrtc-pc/#dom-rtcdatachannel\" class=\"internalDFN\" id=\"ref-for-dom-rtcdatachannel-44\"><code>RTCDataChannel</code></a> message has\n been received via the <a data-link-type=\"dfn|abstract-op\" href=\"https://w3c.github.io/webrtc-pc/#dfn-data-transport\" class=\"internalDFN\" id=\"ref-for-dfn-data-transport-24\">underlying data transport</a> with\n type <var>type</var> and data <var>rawData</var>, the user agent\n <em class=\"rfc2119\">MUST</em> queue a task to run the following steps:", |
3602 | 3605 | "rationale": ".algorithm",
|
3603 | 3606 | "steps": [
|
3604 | 3607 | {
|
3605 |
| - "html": "<p>\n Let <var>channel</var> be the <a data-xref-type=\"_IDL_\" data-link-type=\"idl\" data-lt=\"RTCDataChannel\" href=\"https://w3c.github.io/webrtc-pc/#dom-rtcdatachannel\" class=\"internalDFN\" id=\"ref-for-dom-rtcdatachannel-43\"><code>RTCDataChannel</code></a> object for\n which the user agent has received a message.\n </p>" |
| 3608 | + "html": "<p>\n Let <var>channel</var> be the <a data-xref-type=\"_IDL_\" data-link-type=\"idl\" data-lt=\"RTCDataChannel\" href=\"https://w3c.github.io/webrtc-pc/#dom-rtcdatachannel\" class=\"internalDFN\" id=\"ref-for-dom-rtcdatachannel-45\"><code>RTCDataChannel</code></a> object for\n which the user agent has received a message.\n </p>" |
3606 | 3609 | },
|
3607 | 3610 | {
|
3608 | 3611 | "html": "<p>\n Let <var>connection</var> be the <a data-xref-type=\"_IDL_\" data-link-type=\"idl\" data-lt=\"RTCPeerConnection\" href=\"https://w3c.github.io/webrtc-pc/#dom-rtcpeerconnection\" class=\"internalDFN\" id=\"ref-for-dom-rtcpeerconnection-134\"><code>RTCPeerConnection</code></a> object\n associated with <var>channel</var>.\n </p>"
|
|
3625 | 3628 | "rationale": ".algorithm",
|
3626 | 3629 | "steps": [
|
3627 | 3630 | {
|
3628 |
| - "html": "<p>\n Let <var>channel</var> be the <a data-xref-type=\"_IDL_\" data-link-type=\"idl\" data-lt=\"RTCDataChannel\" href=\"https://w3c.github.io/webrtc-pc/#dom-rtcdatachannel\" class=\"internalDFN\" id=\"ref-for-dom-rtcdatachannel-57\"><code>RTCDataChannel</code></a> object\n which is about to be closed.\n </p>" |
| 3631 | + "html": "<p>\n Let <var>channel</var> be the <a data-xref-type=\"_IDL_\" data-link-type=\"idl\" data-lt=\"RTCDataChannel\" href=\"https://w3c.github.io/webrtc-pc/#dom-rtcdatachannel\" class=\"internalDFN\" id=\"ref-for-dom-rtcdatachannel-59\"><code>RTCDataChannel</code></a> object\n which is about to be closed.\n </p>" |
3629 | 3632 | },
|
3630 | 3633 | {
|
3631 | 3634 | "html": "<p>\n If <var>channel</var>.<a data-xref-type=\"attribute\" data-link-type=\"attribute\" data-link-for=\"RTCDataChannel\" data-xref-for=\"RTCDataChannel\" data-lt=\"[[ReadyState]]\" href=\"https://w3c.github.io/webrtc-pc/#dfn-readystate\" class=\"internalDFN\" id=\"ref-for-dfn-readystate-18\"><code>[[ReadyState]]</code></a> is\n \"<a data-link-type=\"idl\" data-xref-type=\"enum-value\" data-link-for=\"RTCDataChannelState\" data-xref-for=\"RTCDataChannelState\" href=\"https://w3c.github.io/webrtc-pc/#dom-rtcdatachannelstate-closing\" class=\"internalDFN\" id=\"ref-for-dom-rtcdatachannelstate-closing-3\"><code>closing</code></a>\" or\n \"<a data-link-type=\"idl\" data-xref-type=\"enum-value\" data-link-for=\"RTCDataChannelState\" data-xref-for=\"RTCDataChannelState\" href=\"https://w3c.github.io/webrtc-pc/#dom-rtcdatachannelstate-closed\" class=\"internalDFN\" id=\"ref-for-dom-rtcdatachannelstate-closed-7\"><code>closed</code></a>\", then abort these steps.\n </p>"
|
|
3645 | 3648 | "rationale": ".algorithm",
|
3646 | 3649 | "steps": [
|
3647 | 3650 | {
|
3648 |
| - "html": "<p>\n Let <var>channel</var> be the <a data-xref-type=\"_IDL_\" data-link-type=\"idl\" data-lt=\"RTCDataChannel\" href=\"https://w3c.github.io/webrtc-pc/#dom-rtcdatachannel\" class=\"internalDFN\" id=\"ref-for-dom-rtcdatachannel-58\"><code>RTCDataChannel</code></a> object on\n which data is to be sent.\n </p>" |
| 3651 | + "html": "<p>\n Let <var>channel</var> be the <a data-xref-type=\"_IDL_\" data-link-type=\"idl\" data-lt=\"RTCDataChannel\" href=\"https://w3c.github.io/webrtc-pc/#dom-rtcdatachannel\" class=\"internalDFN\" id=\"ref-for-dom-rtcdatachannel-60\"><code>RTCDataChannel</code></a> object on\n which data is to be sent.\n </p>" |
3649 | 3652 | },
|
3650 | 3653 | {
|
3651 | 3654 | "html": "<p>Set <var>channel</var>.<a data-xref-type=\"attribute\" data-link-type=\"attribute\" data-link-for=\"RTCDataChannel\" data-xref-for=\"RTCDataChannel\" data-lt=\"[[IsTransferable]]\" href=\"https://w3c.github.io/webrtc-pc/#dfn-istransferable\" class=\"internalDFN\" id=\"ref-for-dfn-istransferable-4\"><code>[[IsTransferable]]</code></a> to <code>false</code>.</p>"
|
|
3660 | 3663 | "html": "<p>\n If the byte size of <var>data</var> exceeds the value of\n <a data-link-type=\"idl\" data-xref-type=\"attribute|dict-member|const\" data-link-for=\"RTCSctpTransport\" data-xref-for=\"RTCSctpTransport\" href=\"https://w3c.github.io/webrtc-pc/#dom-rtcsctptransport-maxmessagesize\" class=\"internalDFN\" id=\"ref-for-dom-rtcsctptransport-maxmessagesize-2\"><code>maxMessageSize</code></a> on <var>channel</var>'s\n associated <a data-xref-type=\"_IDL_\" data-link-type=\"idl\" data-lt=\"RTCSctpTransport\" href=\"https://w3c.github.io/webrtc-pc/#dom-rtcsctptransport\" class=\"internalDFN\" id=\"ref-for-dom-rtcsctptransport-14\"><code>RTCSctpTransport</code></a>, <a data-link-type=\"dfn\" data-link-for=\"exception\" data-xref-for=\"exception\" data-cite=\"webidl\" data-cite-path=\"\" data-cite-frag=\"dfn-throw\" href=\"https://webidl.spec.whatwg.org/#dfn-throw\">throw</a> a\n <a data-xref-type=\"_IDL_\" data-link-type=\"exception\" data-lt=\"TypeError\" data-cite=\"webidl\" data-cite-path=\"\" data-cite-frag=\"exceptiondef-typeerror\" href=\"https://webidl.spec.whatwg.org/#exceptiondef-typeerror\"><code>TypeError</code></a>.\n </p>"
|
3661 | 3664 | },
|
3662 | 3665 | {
|
3663 |
| - "html": "<p>\n Queue <var>data</var> for transmission on\n <var>channel</var>'s <a data-link-type=\"dfn|abstract-op\" href=\"https://w3c.github.io/webrtc-pc/#dfn-data-transport\" class=\"internalDFN\" id=\"ref-for-dfn-data-transport-26\">underlying data transport</a>. If\n queuing <var>data</var> is not possible because not enough\n buffer space is available, <a data-link-type=\"dfn\" data-link-for=\"exception\" data-xref-for=\"exception\" data-cite=\"webidl\" data-cite-path=\"\" data-cite-frag=\"dfn-throw\" href=\"https://webidl.spec.whatwg.org/#dfn-throw\">throw</a> an\n <a data-xref-type=\"_IDL_\" data-link-type=\"exception\" data-lt=\"OperationError\" data-cite=\"webidl\" data-cite-path=\"\" data-cite-frag=\"operationerror\" href=\"https://webidl.spec.whatwg.org/#operationerror\"><code>OperationError</code></a>.\n </p>" |
| 3666 | + "html": "<p>\n Queue <var>data</var> for transmission on\n <var>channel</var>'s <a data-link-type=\"dfn|abstract-op\" href=\"https://w3c.github.io/webrtc-pc/#dfn-data-transport\" class=\"internalDFN\" id=\"ref-for-dfn-data-transport-27\">underlying data transport</a>. If\n queuing <var>data</var> is not possible because not enough\n buffer space is available, <a data-link-type=\"dfn\" data-link-for=\"exception\" data-xref-for=\"exception\" data-cite=\"webidl\" data-cite-path=\"\" data-cite-frag=\"dfn-throw\" href=\"https://webidl.spec.whatwg.org/#dfn-throw\">throw</a> an\n <a data-xref-type=\"_IDL_\" data-link-type=\"exception\" data-lt=\"OperationError\" data-cite=\"webidl\" data-cite-path=\"\" data-cite-frag=\"operationerror\" href=\"https://webidl.spec.whatwg.org/#operationerror\"><code>OperationError</code></a>.\n </p>" |
3664 | 3667 | },
|
3665 | 3668 | {
|
3666 | 3669 | "html": "<p>\n Increase the value of the <a data-xref-type=\"attribute\" data-link-type=\"attribute\" data-link-for=\"RTCDataChannel\" data-xref-for=\"RTCDataChannel\" data-lt=\"[[BufferedAmount]]\" href=\"https://w3c.github.io/webrtc-pc/#dfn-bufferedamount\" class=\"internalDFN\" id=\"ref-for-dfn-bufferedamount-5\"><code>[[BufferedAmount]]</code></a> slot by\n the byte size of <var>data</var>.\n </p>"
|
|
0 commit comments