v155 · webtransport · datagrams

createWritable, probed and called

The feature adds one method and one interface: WebTransportDatagramDuplexStream.createWritable() returning a WebTransportDatagramsWritable. Both are checkable on the real prototypes, and — because the spec explicitly allows datagram work while a transport is still connecting — createWritable() is genuinely callable here, dead endpoint and all.

Chrome targets this for Chrome 155 behind the WebTransportDatagramsWritable runtime flag (which depends on WebTransportSendGroup) — launch with --enable-blink-features=WebTransportSendGroup,WebTransportDatagramsWritable, or flip chrome://flags/#enable-experimental-web-platform-features and relaunch. No HTTP/3 endpoint is reachable from this showcase; everything below is the synchronous, pre-connection surface.

The surface, on this build

Exact members, real objects
checkresultmeaning
Press the button.

…and the legacy door, for contrast

Before this feature, Chromium's one way out was datagrams.writable — a property the current spec no longer defines (it keeps living in browsers for compatibility). Reading both surfaces side by side dates a build precisely:

Which era is this build from?
surfacethis buildera
Runs with the probe above.

code path

const t = new WebTransport("https://127.0.0.1:44443/never");
const dg = t.datagrams;                     // exists while still connecting

"createWritable" in Object.getPrototypeOf(dg);         // the method
typeof WebTransportDatagramsWritable;                   // the interface

const w = dg.createWritable();              // legal pre-connection (spec 4.3)
w instanceof WritableStream;                // true — it IS a WritableStream
w.sendGroup;                                // null  (default)
w.sendOrder;                                // 0     (default)

see also