| // GENERATED CONTENT - DO NOT EDIT |
| // Content was automatically extracted by Reffy into webref |
| // (https://github.com/w3c/webref) |
| // Source: WebTransport (https://w3c.github.io/webtransport/) |
| |
| [Exposed=(Window,Worker), SecureContext, Transferable] |
| interface WebTransportDatagramsWritable : WritableStream { |
| attribute WebTransportSendGroup? sendGroup; |
| attribute long long sendOrder; |
| }; |
| |
| [Exposed=(Window,Worker), SecureContext] |
| interface WebTransportDatagramDuplexStream { |
| WebTransportDatagramsWritable createWritable( |
| optional WebTransportSendOptions options = {}); |
| readonly attribute ReadableStream readable; |
| |
| readonly attribute unsigned long maxDatagramSize; |
| attribute unrestricted double? incomingMaxAge; |
| attribute unrestricted double? outgoingMaxAge; |
| attribute unrestricted double incomingHighWaterMark; |
| attribute unrestricted double outgoingHighWaterMark; |
| }; |
| |
| [Exposed=(Window,Worker), SecureContext] |
| interface WebTransport { |
| constructor(USVString url, optional WebTransportOptions options = {}); |
| |
| Promise<WebTransportConnectionStats> getStats(); |
| [NewObject] Promise<ArrayBuffer> exportKeyingMaterial(BufferSource label, optional BufferSource context); |
| readonly attribute Promise<undefined> ready; |
| readonly attribute WebTransportReliabilityMode reliability; |
| readonly attribute WebTransportCongestionControl congestionControl; |
| [EnforceRange] attribute unsigned short? anticipatedConcurrentIncomingUnidirectionalStreams; |
| [EnforceRange] attribute unsigned short? anticipatedConcurrentIncomingBidirectionalStreams; |
| readonly attribute DOMString protocol; |
| |
| readonly attribute Promise<WebTransportCloseInfo> closed; |
| readonly attribute Promise<undefined> draining; |
| undefined close(optional WebTransportCloseInfo closeInfo = {}); |
| |
| readonly attribute WebTransportDatagramDuplexStream datagrams; |
| |
| Promise<WebTransportBidirectionalStream> createBidirectionalStream( |
| optional WebTransportSendStreamOptions options = {}); |
| /* a ReadableStream of WebTransportBidirectionalStream objects */ |
| readonly attribute ReadableStream incomingBidirectionalStreams; |
| |
| Promise<WebTransportSendStream> createUnidirectionalStream( |
| optional WebTransportSendStreamOptions options = {}); |
| /* a ReadableStream of WebTransportReceiveStream objects */ |
| readonly attribute ReadableStream incomingUnidirectionalStreams; |
| WebTransportSendGroup createSendGroup(); |
| |
| static readonly attribute boolean supportsReliableOnly; |
| }; |
| |
| enum WebTransportReliabilityMode { |
| "pending", |
| "reliable-only", |
| "supports-unreliable", |
| }; |
| |
| dictionary WebTransportHash { |
| required DOMString algorithm; |
| required BufferSource value; |
| }; |
| |
| dictionary WebTransportOptions { |
| boolean allowPooling = false; |
| boolean requireUnreliable = false; |
| sequence<WebTransportHash> serverCertificateHashes = []; |
| WebTransportCongestionControl congestionControl = "default"; |
| [EnforceRange] unsigned short? anticipatedConcurrentIncomingUnidirectionalStreams = null; |
| [EnforceRange] unsigned short? anticipatedConcurrentIncomingBidirectionalStreams = null; |
| sequence<DOMString> protocols = []; |
| ReadableStreamType datagramsReadableType; |
| }; |
| |
| enum WebTransportCongestionControl { |
| "default", |
| "throughput", |
| "low-latency", |
| }; |
| |
| dictionary WebTransportCloseInfo { |
| unsigned long closeCode = 0; |
| USVString reason = ""; |
| }; |
| |
| dictionary WebTransportSendOptions { |
| WebTransportSendGroup? sendGroup = null; |
| long long sendOrder = 0; |
| }; |
| |
| dictionary WebTransportSendStreamOptions : WebTransportSendOptions { |
| boolean waitUntilAvailable = false; |
| }; |
| |
| dictionary WebTransportConnectionStats { |
| unsigned long long bytesSent; |
| unsigned long long bytesSentOverhead; |
| unsigned long long bytesAcknowledged; |
| unsigned long long packetsSent; |
| unsigned long long bytesLost; |
| unsigned long long packetsLost; |
| unsigned long long bytesReceived; |
| unsigned long long packetsReceived; |
| DOMHighResTimeStamp smoothedRtt; |
| DOMHighResTimeStamp rttVariation; |
| DOMHighResTimeStamp minRtt; |
| required WebTransportDatagramStats datagrams; |
| unsigned long long? estimatedSendRate = null; |
| boolean atSendCapacity = false; |
| }; |
| |
| dictionary WebTransportDatagramStats { |
| unsigned long long droppedIncoming; |
| unsigned long long expiredIncoming; |
| unsigned long long expiredOutgoing; |
| unsigned long long lostOutgoing; |
| }; |
| |
| [Exposed=(Window,Worker), SecureContext, Transferable] |
| interface WebTransportSendStream : WritableStream { |
| attribute WebTransportSendGroup? sendGroup; |
| attribute long long sendOrder; |
| Promise<WebTransportSendStreamStats> getStats(); |
| WebTransportWriter getWriter(); |
| }; |
| |
| dictionary WebTransportSendStreamStats { |
| unsigned long long bytesWritten; |
| unsigned long long bytesSent; |
| unsigned long long bytesAcknowledged; |
| }; |
| |
| [Exposed=(Window,Worker), SecureContext] |
| interface WebTransportSendGroup { |
| Promise<WebTransportSendStreamStats> getStats(); |
| }; |
| |
| [Exposed=(Window,Worker), SecureContext, Transferable] |
| interface WebTransportReceiveStream : ReadableStream { |
| Promise<WebTransportReceiveStreamStats> getStats(); |
| }; |
| |
| dictionary WebTransportReceiveStreamStats { |
| unsigned long long bytesReceived; |
| unsigned long long bytesRead; |
| }; |
| |
| [Exposed=(Window,Worker), SecureContext] |
| interface WebTransportBidirectionalStream { |
| readonly attribute WebTransportReceiveStream readable; |
| readonly attribute WebTransportSendStream writable; |
| }; |
| |
| [Exposed=*, SecureContext] |
| interface WebTransportWriter : WritableStreamDefaultWriter { |
| Promise<undefined> atomicWrite(optional any chunk); |
| undefined commit(); |
| }; |
| |
| [Exposed=(Window,Worker), Serializable, SecureContext] |
| interface WebTransportError : DOMException { |
| constructor(optional DOMString message = "", optional WebTransportErrorOptions options = {}); |
| |
| readonly attribute WebTransportErrorSource source; |
| readonly attribute unsigned long? streamErrorCode; |
| }; |
| |
| dictionary WebTransportErrorOptions { |
| WebTransportErrorSource source = "stream"; |
| [Clamp] unsigned long? streamErrorCode = null; |
| }; |
| |
| enum WebTransportErrorSource { |
| "stream", |
| "session", |
| }; |