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

HTTP: Limit priority state before stream is opened #2144

Closed
dtikhonov opened this issue Dec 13, 2018 · 3 comments
Closed

HTTP: Limit priority state before stream is opened #2144

dtikhonov opened this issue Dec 13, 2018 · 3 comments
Labels
-http editorial An issue that does not affect the design of the protocol; does not require consensus.

Comments

@dtikhonov
Copy link
Member

dtikhonov commented Dec 13, 2018

RFC 7540 discusses priority state management at some length, especially what to do with priority information after a stream is closed.

In addition to this, in HTTP/3, we have to deal with priority information before a stream is opened. That is: just how large is the tree allowed to grow before the referenced streams' frames begin to come in?

The draft should provide some recommendations.

I can think of two ways to do limit this "front-loaded" state:

  1. Open the stream when a PRIORITY frame referencing it arrives on the control stream. This will invoke the stream limit checks.
  2. Limit number of priority entries to number -- perhaps a function of the total number of maximum unidirectional and bidirectional streams.
@martinthomson martinthomson added editorial An issue that does not affect the design of the protocol; does not require consensus. -http labels Dec 13, 2018
@martinthomson
Copy link
Member

Just clarifying: this would be advice to implementations, nothing normative, right?

@dtikhonov
Copy link
Member Author

I don't know. I think I will be happy as long as something is put into the draft.

@MikeBishop
Copy link
Contributor

Assuming that PRIORITY can only reference a stream that already "exists" client-side, the maximum number would be the number of permitted client-initiated bidirectional streams. Perhaps the requirements should simply be that PRIORITY cannot reference a stream that the client isn't permitted to open?

I don't really want to "actually open" the stream when the PRIORITY frame arrives, but checking that it's less than the MAX_STREAM_ID on receipt seems like a reasonable server-side check.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
-http editorial An issue that does not affect the design of the protocol; does not require consensus.
Projects
None yet
Development

No branches or pull requests

3 participants