Comments (8)
Section 5.2 indicates that QUIC may notify the application when the datagram is ACKed, and Section 5.4 says QUIC may notify the application when the datagram cannot be sent due to congestion control.
As far as I can see, those are the only concrete notifications that are appropriate that are specific to the DATAGRAM frame.
I can absolutely see how a media streaming application may want to get other notifications about loss detection and ECN in general, but those seem to be generic features of QUIC notifying the application, and are not specific to this particular frame type. As such, I feel that this belongs in other future documents.
from datagram.
Congestion control state is a property of the connection, not isolated to this extension or of a particular use of this extension. It seems fine to me to let implementations figure out what is sufficient information to applications. If there's something common worth detailing more, that can be documented elsewhere.
from datagram.
+1 to what @tfpauly said. We've built a real-time media application over QUIC DATAGRAMs at Google, relying only on a notification when a datagram is ACKed or considered lost. Implementations are free to share more information with the application, but we shouldn't recommend an unimplemented technique that might not even work.
from datagram.
I have some experience with SCReAM, where it is definitely necessary to notify the application level about congestion.. The result is otherwise that a queue will build up on the sender side.
This is perhaps not an issue if the delay budget for the application is measured in seconds, but if the goal is low latency streaming, then I would say that it is necessary.
If one try and distill the bare necessities out of SCReAM then one can implement something that signals the necessary target bitrate reduction up to the application (video encoder).
This signal is transmitted upon each new congestion event and is simply a metric that indicates the expected fractional decrease of the output rate by the QUIC connection. This is given by how much the congestion window decreases and the expected reduction in RTT. This is a relatively exact metric with L4S as the RTT is essentially unchanged. With loss based and ECN it becomes more of an approximation.
from datagram.
@DavidSchinazi , then you have experience of real-time application over QUIC DATAGRAM. if I understand it correctly, you needed the DATAGRAM ACK information, right?
@tfpauly I can agree that those two notifications are the relevant to DATAGRAM frames. However, from our work on RMCAT working group, I am concerned that application developers will need more information for a proper rate controlled application and if the implementations are not aware of that if might be hard to get such information. I just hope that application developers will not just run media over QUIC DATAGRAM and expect things to work, so that they consider this in their design.
from datagram.
I expect that documents that define media apps over QUIC will explain what signals they need. Apps won't deploy without those new documents. This isn't in scope for this one frame.
from datagram.
Lets go with that expectation.
from datagram.
OK, sounds good to me
from datagram.
Related Issues (20)
- Please define the frame using RFC 9000 style HOT 1
- Question about: "not used for loss recovery" HOT 5
- The
- Question about:This frame SHOULD be sent as soon as possible, and MAY be coalesced with other frames HOT 2
- Can DATAGRAM frame belong to stream? HOT 2
- Not "strongly" associated HOT 1
- Question about DATAGRAM frame HOT 2
- Is reliability really stream-based? HOT 4
- State clearly the IANA registration type of TP and frame type HOT 1
- Why do IANA considerations duplicate information from the body? HOT 1
- Clarify 0-RTT handling HOT 4
- What happens if an application wants to send a too large datagram? HOT 7
- consequence of not protecting DATAGRAM with 0-RTT or 1-RTT HOT 1
- explain the recommendation pattern for supporting coexistence of multiple datagram flows
- Bandwidth distribution to media and non-media traffic - applicablity statements HOT 5
- RFC Editor comment 1 HOT 1
- RFC Editor comment 2 HOT 2
- For clarity, may this sentence be updated as follows? Original (comment 3) HOT 2
- Would you like to change "and" to "-" here? Current (comment 4) HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from datagram.