// 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] interface WebTransportDatagramDuplexStream { readonly attribute ReadableStream readable; readonly attribute WritableStream writable; readonly attribute unsigned long maxDatagramSize; attribute double? incomingMaxAge; attribute double? outgoingMaxAge; attribute long incomingHighWaterMark; attribute long outgoingHighWaterMark; }; [Exposed=(Window,Worker), SecureContext] interface WebTransport { constructor(USVString url, optional WebTransportOptions options = {}); Promise getStats(); readonly attribute Promise ready; readonly attribute WebTransportReliabilityMode reliability; readonly attribute WebTransportCongestionControl congestionControl; readonly attribute Promise closed; 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; }; 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"; }; enum WebTransportCongestionControl { "default", "throughput", "low-latency", }; dictionary WebTransportCloseInfo { unsigned long closeCode = 0; USVString reason = ""; }; dictionary WebTransportSendStreamOptions { long long? sendOrder = null; }; dictionary WebTransportStats { DOMHighResTimeStamp timestamp; unsigned long long bytesSent; unsigned long long packetsSent; unsigned long long packetsLost; unsigned long numOutgoingStreamsCreated; unsigned long numIncomingStreamsCreated; unsigned long long bytesReceived; unsigned long long packetsReceived; DOMHighResTimeStamp smoothedRtt; DOMHighResTimeStamp rttVariation; DOMHighResTimeStamp minRtt; WebTransportDatagramStats datagrams; }; dictionary WebTransportDatagramStats { DOMHighResTimeStamp timestamp; unsigned long long expiredOutgoing; unsigned long long droppedIncoming; unsigned long long lostOutgoing; }; [Exposed=(Window,Worker), SecureContext, Transferable] interface WebTransportSendStream : WritableStream { Promise getStats(); }; dictionary WebTransportSendStreamStats { DOMHighResTimeStamp timestamp; unsigned long long bytesWritten; unsigned long long bytesSent; unsigned long long bytesAcknowledged; }; [Exposed=(Window,Worker), SecureContext, Transferable] interface WebTransportReceiveStream : ReadableStream { Promise getStats(); }; dictionary WebTransportReceiveStreamStats { DOMHighResTimeStamp timestamp; unsigned long long bytesReceived; unsigned long long bytesRead; }; [Exposed=(Window,Worker), SecureContext] interface WebTransportBidirectionalStream { readonly attribute WebTransportReceiveStream readable; readonly attribute WebTransportSendStream writable; }; [Exposed=(Window,Worker), SecureContext] interface WebTransportError : DOMException { constructor(optional WebTransportErrorInit init = {}); readonly attribute WebTransportErrorSource source; readonly attribute octet? streamErrorCode; }; dictionary WebTransportErrorInit { [Clamp] octet streamErrorCode; DOMString message; }; enum WebTransportErrorSource { "stream", "session", };