Contact emails
[email protected]

Explainer
https://github.com/w3c/webtransport/blob/main/explainer.md#9-transactional-writes-and-reliable-reset


Specification
https://w3c.github.io/webtransport/#webtransportwriter


Summary
Adds the WebTransportWriter interface for outgoing WebTransport streams. 
WebTransportSendStream.getWriter() returns a specialized writer extending 
WritableStreamDefaultWriter with two methods. atomicWrite(data) admits the 
complete write only when sufficient stream and connection flow-control credit 
is available; if the complete chunk does not fit, none of it is admitted and 
the stream remains usable. commit() marks successfully written bytes as a 
reliable prefix to be transmitted if the stream is subsequently aborted, 
provided the connection remains available. Atomic writes help prevent 
application-protocol flow-control deadlocks, but they do not preserve message 
boundaries or guarantee delivery in a single network packet.


Blink component
Blink>Network>WebTransport


Web Feature ID
webtransport


Motivation
Applications commonly implement framed protocols over WebTransport streams. A 
normal stream write can be accepted only partially at the transport layer, 
which can cause a flow-control deadlock when the peer needs the complete frame 
before it can process data and release more credit. atomicWrite() provides 
all-or-nothing admission for these writes. commit() enables partial 
reliability: an application can commit an important prefix and later abort an 
obsolete suffix without losing the committed data. These capabilities are 
useful for real-time media, games, remote access, and other latency-sensitive 
applications.


Initial public proposal
https://github.com/w3c/webtransport/issues/426


Goals for experimentation
None


Requires code in //chrome?
False


Tracking bug
https://issues.chromium.org/issues/487117768


Availability expectation
The feature is expected to become available across major browsers as part of 
the W3C WebTransport specification. Firefox and WebKit have not yet provided 
formal implementation signals for WebTransportWriter, but broader availability 
is expected as browser engines converge on the specification.


Adoption expectation
Adoption is expected to be focused rather than universal because the API 
addresses advanced WebTransport use cases. It is likely to be adopted by 
real-time media, gaming, remote-access, and application-protocol libraries that 
need to avoid framing-related flow-control deadlocks or reliably deliver an 
important prefix while discarding an obsolete suffix. Existing WebTransport 
applications do not need to migrate.


Adoption plan
Adoption is expected to happen organically among WebTransport protocol 
libraries and latency-sensitive applications that need atomic flow-control 
admission to avoid framing deadlocks or reliable delivery of an important 
prefix when aborting an obsolete stream suffix.


Estimated milestones

No milestones specified



Anticipated spec changes

Open questions about a feature may be a source of future web compat or interop 
issues. Please list open issues (eg links to known github issues in the project 
for the feature specification) whose resolution may introduce web 
compat/interop risk (eg, changing to naming or structure of the API in a 
non-backward-compatible way).
No major changes to the JavaScript API shape are currently anticipated. 
Editorial clarifications and adjustments based on implementation experience and 
interoperability testing remain possible. The reliable-reset mechanism 
underlying commit() is still progressing through the IETF QUIC Working Group, 
so Chromium will track any protocol-level changes before shipping.


Link to entry on the Chrome Platform Status
https://chromestatus.com/feature/5073738176528384?gate=5073842463703040


This intent message was generated by Chrome Platform Status.

-- 
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 [email protected].
To view this discussion visit 
https://groups.google.com/a/chromium.org/d/msgid/blink-dev/6abd7efd.b816ca50.7065.0547.GAE%40google.com.

Reply via email to