// 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 getStats(); [NewObject] Promise exportKeyingMaterial(BufferSource label, optional BufferSource context); readonly attribute Promise 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 closed; readonly attribute Promise draining; undefined close(optional WebTransportCloseInfo closeInfo = {}); readonly attribute WebTransportDatagramDuplexStream datagrams; Promise createBidirectionalStream( optional WebTransportSendStreamOptions options = {}); /* a ReadableStream of WebTransportBidirectionalStream objects */ readonly attribute ReadableStream incomingBidirectionalStreams; Promise 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 { DOMString algorithm; BufferSource value; }; dictionary WebTransportOptions { boolean allowPooling = false; boolean requireUnreliable = false; sequence serverCertificateHashes; WebTransportCongestionControl congestionControl = "default"; [EnforceRange] unsigned short? anticipatedConcurrentIncomingUnidirectionalStreams = null; [EnforceRange] unsigned short? anticipatedConcurrentIncomingBidirectionalStreams = null; sequence protocols = []; DatagramsReadableMode datagramsReadableMode; }; enum WebTransportCongestionControl { "default", "throughput", "low-latency", }; enum DatagramsReadableMode { "bytes" }; 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 = 0; unsigned long long packetsSent = 0; unsigned long long bytesLost = 0; unsigned long long packetsLost = 0; unsigned long long bytesReceived = 0; unsigned long long packetsReceived = 0; required DOMHighResTimeStamp smoothedRtt; required DOMHighResTimeStamp rttVariation; required DOMHighResTimeStamp minRtt; required WebTransportDatagramStats datagrams; unsigned long long? estimatedSendRate = null; boolean atSendCapacity = false; }; dictionary WebTransportDatagramStats { unsigned long long droppedIncoming = 0; unsigned long long expiredIncoming = 0; unsigned long long expiredOutgoing = 0; unsigned long long lostOutgoing = 0; }; [Exposed=(Window,Worker), SecureContext, Transferable] interface WebTransportSendStream : WritableStream { attribute WebTransportSendGroup? sendGroup; attribute long long sendOrder; Promise getStats(); WebTransportWriter getWriter(); }; dictionary WebTransportSendStreamStats { unsigned long long bytesWritten = 0; unsigned long long bytesSent = 0; unsigned long long bytesAcknowledged = 0; }; [Exposed=(Window,Worker), SecureContext] interface WebTransportSendGroup { Promise getStats(); }; [Exposed=(Window,Worker), SecureContext, Transferable] interface WebTransportReceiveStream : ReadableStream { Promise getStats(); }; dictionary WebTransportReceiveStreamStats { unsigned long long bytesReceived = 0; unsigned long long bytesRead = 0; }; [Exposed=(Window,Worker), SecureContext] interface WebTransportBidirectionalStream { readonly attribute WebTransportReceiveStream readable; readonly attribute WebTransportSendStream writable; }; [Exposed=*, SecureContext] interface WebTransportWriter : WritableStreamDefaultWriter { Promise 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", };