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

Remove API requirement for resource allocation #3838

Closed
ekr opened this issue Jul 8, 2020 · 4 comments · Fixed by #3935
Closed

Remove API requirement for resource allocation #3838

ekr opened this issue Jul 8, 2020 · 4 comments · Fixed by #3935
Labels
-transport call-issued An issue that the Chairs have issued a Consensus call for. has-consensus An issue that the Chairs have determined has consensus, by canvassing the mailing list.

Comments

@ekr
Copy link
Collaborator

ekr commented Jul 8, 2020

S 5.4 requires that the application be able to

  • control resource allocation of various types, including flow control and the
    number of permitted streams of each type;

This seems like a good idea, but it seems like one could have a reasonable QUIC stack that did not do this.

@martinthomson
Copy link
Member

I would prefer to leave this. Noting that the level of control is not specified.

This also suggests that the stack provide a keep-alive control, but there are likely cases (I'm thinking here of DNS over QUIC) where that is unlikely to be a useful feature.

The goal is to list things that the specification believes a generic stack will provide. Maybe we could avoid the implication that such an implementation is incomplete by saying that specialized implementations might provide less than a complete API.

@larseggert larseggert added this to Triage in Late Stage Processing via automation Jul 8, 2020
@larseggert
Copy link
Member

@ekr willing to fight for this one?

@martinthomson
Copy link
Member

After discussing with editors, we think that it would be better to remove the MUST in this section and say something like: "A general purpose QUIC implementation provides the following functions:" and add "A specialized implementation might provide a subset of these."

The same applies to the stream operations.

@LPardue
Copy link
Member

LPardue commented Jul 21, 2020

I think that is a positive change. Borderline design issue by the sound of it. It would be good to see the PR once its available.

martinthomson added a commit that referenced this issue Jul 21, 2020
The strong requirements here were wrong.  What is necessary from these
sections is defining operations in QUIC that application protocols can
depend on being present.

Levying the requirement on implementations was incorrect.  As some
application protocols don't use certain QUIC features, it is not
necessary to require implementations to support features if they are not
general purpose.

This rephrases these requirements without normative language, instead
concentrating on what services the application protocol can depend on.
This translates into requirements on implementations, but only via the
application protocols they intend to support.

Closes #3838.
@larseggert larseggert added the design An issue that affects the design of the protocol; resolution requires consensus. label Jul 22, 2020
@project-bot project-bot bot moved this from Triage to Design Issues in Late Stage Processing Jul 22, 2020
@larseggert larseggert added the proposal-ready An issue which has a proposal that is believed to be ready for a consensus call. label Jul 22, 2020
@project-bot project-bot bot moved this from Design Issues to Consensus Emerging in Late Stage Processing Jul 22, 2020
@larseggert larseggert moved this from Consensus Emerging to Consensus Call issued in Late Stage Processing Aug 21, 2020
@LPardue LPardue added call-issued An issue that the Chairs have issued a Consensus call for. has-consensus An issue that the Chairs have determined has consensus, by canvassing the mailing list. and removed proposal-ready An issue which has a proposal that is believed to be ready for a consensus call. design An issue that affects the design of the protocol; resolution requires consensus. labels Aug 25, 2020
@project-bot project-bot bot moved this from Consensus Call issued to Consensus Declared in Late Stage Processing Sep 1, 2020
Late Stage Processing automation moved this from Consensus Declared to Issue Handled Sep 1, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
-transport call-issued An issue that the Chairs have issued a Consensus call for. has-consensus An issue that the Chairs have determined has consensus, by canvassing the mailing list.
Projects
Late Stage Processing
  
Issue Handled
Development

Successfully merging a pull request may close this issue.

4 participants