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

QUIC: setTargetBufferedAmount & receive window #840

Closed
aboba opened this issue Apr 30, 2018 · 0 comments
Closed

QUIC: setTargetBufferedAmount & receive window #840

aboba opened this issue Apr 30, 2018 · 0 comments
Assignees

Comments

@aboba
Copy link
Contributor

aboba commented Apr 30, 2018

From w3c/p2p-webtransport#7 (submitted by shampson)

Steps 5/6 of setTargetBufferedAmount:
5. If amount is greater than or equal to stream's [[ReadBufferedAmount]] slot, set stream's maximum receive window to amount.
6. ...then set the maximum receive window to amount.

I discussed this with Peter about the [[TargetReadBufferedAmount]], and we concluded:

  • The target read buffered amount shouldn't directly set the backpressure window size. It's more for the app to be able to fill a the read buffer up to a given amount with data while it's busy doing something else.
  • It smooths out how data is read in to JavaScript. Without it there would be problems if data came in faster than it could be processed
  • We don't want to set the receive window size directly to be the [[TargetReadBufferedAmount]]. The targetReadBufferedAmount attribute should represent the target number of bytes in the receive buffer in addition to the receive window. This allows protocol level control of the receive window separate from the application.

Changes I propose:

  • Update definition of targetReadBufferedAmount "represents the target number of bytes in the read buffer" --> "represents the target number of bytes in the receive buffer in addition to the receive window"
    • Update this in setTargetReadBuffered amount as well
  • Clarify how setTargetBufferedAmount is for smoothness
  • Remove setTargetBufferedAmount steps 5/6
  • Do we want [[TargetReadBufferedAmount]] to default to 0? It currently defaults to the maximum read buffer size.
@aboba aboba changed the title QUIC issues setTargetBufferedAmount & receive window May 1, 2018
aboba added a commit that referenced this issue May 31, 2018
@aboba aboba changed the title setTargetBufferedAmount & receive window QUIC: setTargetBufferedAmount & receive window Jun 1, 2018
@aboba aboba closed this as completed Jun 1, 2018
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