bpmux icon indicating copy to clipboard operation
bpmux copied to clipboard

Run over WebTransport

Open davedoesdev opened this issue 4 years ago • 4 comments

https://web.dev/webtransport/

This should be a very thin layer, with WebTransport doing the muxing and backpressure and bpmux just adapting Web streams to Node streams.

davedoesdev avatar Aug 03 '21 05:08 davedoesdev

Should check first that WebTransport streams (or at least their implementation) don't suffer from starvation by using https://github.com/davedoesdev/bpmux#comparison

Can start by testing HTTP/2 streams and HTTP/3 streams when ready, Node-to-Node - and browser to Node using http2-duplex. If they maintain their own backpressure, we can add support to bpmux so it essentially becomes a no-op in those cases (just API compatibility).

davedoesdev avatar Aug 03 '21 06:08 davedoesdev

Tested: http2 doesn't suffer from starvation (has windows for connection and invidual streams).

WebTransport waiting for https://github.com/nodejs/node/issues/38478 and https://github.com/nodejs/node/pull/38233

davedoesdev avatar Jan 15 '22 13:01 davedoesdev

Support for pair of HTTP/2 sessions added in 8.2.0

davedoesdev avatar Feb 17 '22 22:02 davedoesdev

While WebTransport/HTTP3/quic is being added to Node, try https://github.com/fails-components/webtransport

davedoesdev avatar Sep 24 '22 07:09 davedoesdev