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

Varints for numeric transport parameters #1608

Closed
marten-seemann opened this issue Jul 29, 2018 · 8 comments
Closed

Varints for numeric transport parameters #1608

marten-seemann opened this issue Jul 29, 2018 · 8 comments
Assignees
Labels
-transport design An issue that affects the design of the protocol; resolution requires consensus. has-consensus An issue that the Chairs have determined has consensus, by canvassing the mailing list.

Comments

@marten-seemann
Copy link
Contributor

Using varints instead of fixed size fields would allow us to save bytes in the common case, while allowing for a wider range of values if needed. Most importantly, we'd be more consistent in how we encode values across the protocol.
I'm not sure how to correctly write that in the TLS presentation language though.

@ekr
Copy link
Collaborator

ekr commented Jul 29, 2018

The TLS presentation language doesn't currently support varints. I suppose one could add it as a feature.

@ianswett
Copy link
Contributor

SGTM.

@kazuho
Copy link
Member

kazuho commented Jul 29, 2018

I think that it makes sense to use varints for representing the values of the TransportParameters (i.e. the values defined in section 6.6.1 Transport Parameter Definitions).

I do not oppose to using varint for TransportParameterId.

OTOH, (I do not necessarily assume that you meant this, but) I would oppose to using varints for QuicVersion, or using varint for representing the size of the blocks (i.e. the length of the block represented using <x..y> notation). This is because QuicVersion is a fixed length integer in QUIC as well, and because we do not have a way to express an optional block in QUIC.

@marten-seemann
Copy link
Contributor Author

I think that it makes sense to use varints for representing the values of the TransportParameters (i.e. the values defined in section 6.6.1 Transport Parameter Definitions).

That's exactly what I meant. Thanks for clarifying.

@martinthomson martinthomson changed the title use varints in transport parameters Varints for numeric transport parameters Jul 31, 2018
@martinthomson martinthomson added design An issue that affects the design of the protocol; resolution requires consensus. -transport labels Jul 31, 2018
@martinthomson martinthomson added the needs-discussion An issue that needs more discussion before we can resolve it. label Sep 14, 2018
@mnot
Copy link
Member

mnot commented Sep 19, 2018

Discussed in NYC; @marten-seemann to drive to a conclusion by 15/10.

@ianswett
Copy link
Contributor

It's 10/16, any updates @marten-seemann

@marten-seemann
Copy link
Contributor Author

@ianswett: Sorry for the delay. Just sent out a mail to the list.

martinthomson added a commit that referenced this issue Nov 1, 2018
This is a partial change related to #1608.  It builds on the renumbering
of transport parameters so as to avoid churn.
@martinthomson
Copy link
Member

Fixed by #1947.

@mnot mnot added has-consensus An issue that the Chairs have determined has consensus, by canvassing the mailing list. and removed needs-discussion An issue that needs more discussion before we can resolve it. labels Mar 5, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
-transport design An issue that affects the design of the protocol; resolution requires consensus. has-consensus An issue that the Chairs have determined has consensus, by canvassing the mailing list.
Projects
None yet
Development

No branches or pull requests

6 participants