Contact emails
jianjun....@intel.com<mailto:jianjun....@intel.com>, 
ri...@chromium.org<mailto:ri...@chromium.org>, 
nidhij...@chromium.org<mailto:nidhij...@chromium.org>

Explainer
https://github.com/w3c/webtransport/blob/main/explainer.md
https://github.com/w3c/webtransport/issues/35

Specification
https://www.w3.org/TR/webtransport
https://streams.spec.whatwg.org/#readablestreambyobreader

Summary

Support BYOB(bring-your-own-buffer) readers for WebTransport to allow reading 
into a developer-supplied buffer. BYOB readers can minimize buffer copies, as 
well as reduce memory allocations.



This feature aligns blink implementation with the WebTransport spec 
(https://www.w3.org/TR/webtransport/#webtransportreceivestream-create). The 
underlying source of blink::IncomingStream and blink::DatagramDuplexStream are 
changed to UnderlyingByteSource to support this feature.

Blink component
Blink>Network>WebTransport<https://bugs.chromium.org/p/chromium/issues/list?q=component:Blink%3ENetwork%3EWebTransport>
TAG review
https://github.com/w3ctag/design-reviews/issues/669
TAG review status
Not applicable

Risks

Interoperability and Compatibility


Gecko: Worth prototyping 
(https://github.com/mozilla/standards-positions/issues/167)

WebKit: No signal

Web developers: No signals

Other signals:
Activation

Developers can acquire a BYOB reader by calling getReader({ mode: "byob" }) of 
a WebTransportDatagramDuplexStream.readable, or a 
WebTransportBidirectionalStream.readable, or a WebTransportReceiveStream.

WebView application risks

This feature doesn’t change the behaviors of exiting APIs. Calling getReader() 
without options returns a default reader.

Debuggability

This feature can be debugged with existing DevTools JavaScript debugger.

Will this feature be supported on all six Blink platforms (Windows, Mac, Linux, 
Chrome OS, Android, and Android WebView)?
Yes

Is this feature fully tested by 
web-platform-tests<https://chromium.googlesource.com/chromium/src/+/main/docs/testing/web_platform_tests.md>?
Yes

Flag name

Requires code in //chrome?
False

Tracking bug
https://bugs.chromium.org/p/chromium/issues/detail?id=1259886
Sample links

https://github.com/w3c/webtransport/pull/415
Estimated milestones

108

Anticipated spec changes

No

Link to entry on the Chrome Platform Status
https://chromestatus.com/feature/5948016536584192
This intent message was generated by Chrome Platform 
Status<https://chromestatus.com/>.

-- 
You received this message because you are subscribed to the Google Groups 
"blink-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to blink-dev+unsubscr...@chromium.org.
To view this discussion on the web visit 
https://groups.google.com/a/chromium.org/d/msgid/blink-dev/PH0PR11MB488707A531780543D97765FBFB5F9%40PH0PR11MB4887.namprd11.prod.outlook.com.

Reply via email to