Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add an example showing receive side throttling #389

Open
jan-ivar opened this issue Feb 23, 2022 · 3 comments
Open

Add an example showing receive side throttling #389

jan-ivar opened this issue Feb 23, 2022 · 3 comments
Assignees

Comments

@jan-ivar
Copy link
Member

jan-ivar commented Feb 23, 2022

The API and the underlying QUIC stack mentions that it supports back pressure from the receiver to the sender through ACKs.

From this, one might assume that a receiver may thottle its reception independently for streams it controls, say stream A, B and C.

Q: Does this mean a receiver can throttle reception? I.e. consume C at full speed, but intentionally throttle A and B to give C priority?

If so, should we make this explicit with a use case or an example?

@jan-ivar jan-ivar added the Discuss at next meeting Flags an issue to be discussed at the next WG working label Mar 1, 2022
@jan-ivar
Copy link
Member Author

jan-ivar commented Mar 29, 2022

Meeting:

  • Mostly yes, the receiver can throttle by not reading. If you don't read from the receive buffer it eventually will become full
  • This might affect the browser's flow control window of the individual streams, or other side effects. Browser probably shouldn't be doing this
  • An example of consumption at different rates might be worthwhile.
  • Might affect other receivers in a pooled connection? That's why we have separate flow control per stream

@jan-ivar jan-ivar changed the title Q: Is reception throttling a thing? Add an example showing receive side throttling Mar 30, 2022
@wilaw wilaw removed the Discuss at next meeting Flags an issue to be discussed at the next WG working label Mar 30, 2022
@jan-ivar
Copy link
Member Author

Rough idea for an example might be:

  • Set up two incoming streams A and B. Assume uniform chunk sizes
  • pull from B at half the rate of A.
  • Tension between something simple and something more useful

@wilaw wilaw added this to the Candidate Recommendation milestone Nov 9, 2022
@jan-ivar
Copy link
Member Author

Strictly speaking the lack of an example needn't hold up CR.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants