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

Always use ALPN for version negotiation #499

Open
wants to merge 1 commit into
base: main
Choose a base branch
from
Open

Conversation

ianswett
Copy link
Collaborator

@ianswett ianswett commented Aug 5, 2024

Or the WebTransport equivalent, "WT-Available-Protocols".

Removes version negotiation from the MoQ SETUP messages.

Fixes #242
Fixes #243
Fixes #346
Related to #83

Removes version negotiation from the MoQ SETUP messages.

Fixes #242 
Fixes #243
Related to #83
@ianswett ianswett added the Handshake QUIC vs WebTransport, SETUP Message label Aug 5, 2024
@@ -375,6 +375,14 @@ There is no definition of the protocol over other transports,
such as TCP, and applications using MoQ might need to fallback to
another protocol when QUIC or WebTransport aren't available.

MoQ uses ALPN in QUIC and "WT-Available-Protocols" in WebTransport
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

MoQT

@ianswett
Copy link
Collaborator Author

ianswett commented Aug 7, 2024

The group thinks this is a good direction, but we want to wait until Chrome supports this to merge this PR.

@ianswett ianswett added the Parked Issue we may discuss later or close as OBE label Aug 7, 2024
Copy link
Contributor

@fluffy fluffy left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What is here looks good but I would like to see one small thing added.

configuration before any objects are exchanged. It is a sequence of key-value
pairs called Setup parameters; the semantics and format of which can vary based
on whether the client or server is sending. To ensure future extensibility of
MOQT, the peers MUST ignore unknown setup parameters.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is one part I feel pretty strongly about.

I think we need a way of naming keys or adding a flag to them that indicates that they are mandatory to understand and if the peer does not understand them it MUST end the connection with an error. It does not cost of anything to makes it far easier to roll out new features across clients that don't all upgrade to the same implementation every 6 weeks.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This text isn't new in this PR, the paragraph reflowed when to establish the mutually supported version and was removed. Can you open a separate issue or PR about MTI setup params?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Handshake QUIC vs WebTransport, SETUP Message Parked Issue we may discuss later or close as OBE
Projects
None yet
4 participants