Intent to Experiment: WebSocketStream

354 views
Skip to first unread message

Adam Rice

unread,
Sep 5, 2019, 3:58:04 AM9/5/19
to blink-dev

Contact emails

ri...@chromium.org, yhi...@chromium.org

Explainer

https://github.com/ricea/websocketstream-explainer/blob/master/README.md


Summary

The WebSocket API provides a JavaScript interface to the RFC6455 WebSocket protocol. While it has served well, it is awkward from an ergonomics perspective and is missing the important feature of backpressure. The intent of the WebSocketStream API is to resolve these deficiencies by integrating streams with the WebSocket API.


Link to “Intent to Implement” blink-dev discussion

https://groups.google.com/a/chromium.org/forum/#!msg/blink-dev/X7rWpAkMCyg/j6K7mEEwAgAJ


Goals for experimentation

The purpose of the experiment is to validate the shape of the API. In particular, we'd like to answer these questions:

  1. Does it offer the expected improvements in ease-of-use?

  2. Does it integrate well with applications that require backpressure support?

  3. Are we missing any features that are critical for initial adoption?


Experimental timeline

M78: Experiment begins

M80: Last milestone of the experiment

M81: WebSocketStream ships, or doesn't.


Any risks when the experiment finishes?

None.


Ongoing technical constraints

None.


Will this feature be supported on all five Blink platforms supported by Origin Trials (Windows, Mac, Linux, Chrome OS, and Android)?

Yes.


Link to entry on the feature dashboard

https://chromestatus.com/feature/5189728691290112


bratell

unread,
Sep 5, 2019, 3:18:39 PM9/5/19
to blink-dev
What happens if the current API stops buffering everything and leaves the data in the network buffers instead? Would that accomplish any of the goals of the new API?

/Daniel

Adam Rice

unread,
Sep 5, 2019, 8:41:37 PM9/5/19
to bratell, blink-dev
What happens if the current API stops buffering everything and leaves the data in the network buffers instead? Would that accomplish any of the goals of the new API?

It will stop the render process from running out of memory, but it will still be stuck processing onmessage events in a tight loop, leaving no CPU time to get anything else done. It wouldn't fulfill the developer need to stay responsive and keep control of what happens when the renderer can't keep up.

--
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+...@chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/02f3e287-f770-4844-bcc3-0236704bd7c8%40chromium.org.

Rick Byers

unread,
Sep 6, 2019, 11:29:15 AM9/6/19
to Adam Rice, Daniel Bratell, blink-dev
Do you have any customers who have shown interest in using the OT? As will all OTs we'll want to eventually understand web developer perspectives on the value the API brings to them over the alternatives.

Thomas Nattestad

unread,
Sep 9, 2019, 12:26:23 PM9/9/19
to blink-dev, ri...@chromium.org, bra...@opera.com, Thomas Nattestad
We do indeed have some partners who are eager for this API. Both Citrix and Carestream have expressed interest and at least Carestream will be actively adopting. Also in chats with VMWare who expressed interest in the past, will verify. 
To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+unsubscribe@chromium.org.

--
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+unsubscribe@chromium.org.

Adam Rice

unread,
Sep 11, 2019, 9:25:41 PM9/11/19
to Thomas Nattestad, blink-dev, Daniel Bratell, Thomas Nattestad
Bumping. Can I get an lgtm?

To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+...@chromium.org.

--
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+...@chromium.org.

Chris Harrelson

unread,
Sep 19, 2019, 3:08:47 PM9/19/19
to Adam Rice, Thomas Nattestad, blink-dev, Daniel Bratell, Thomas Nattestad

Chris Harrelson

unread,
Sep 19, 2019, 3:09:13 PM9/19/19
to Adam Rice, Thomas Nattestad, blink-dev, Daniel Bratell, Thomas Nattestad
(Sorry for the delay, TPAC was this week.)
Reply all
Reply to author
Forward
0 new messages