Skip to content

Webtransport transport should use quic-go's EarlyConnection #3161

@MarcoPolo

Description

@MarcoPolo

Right now we are adding an extra roundtrip to WebTransport connections because the server waits for the TLS handshake to complete before sending the h3 SettingsFrame.

This isn't necessary, and doesn't give us anything useful. In WebTransport we are authenticating the client with a Noise handshake, so it's okay to send the SettingsFrame to an unauthenticated client (it would also be okay otherwise as well, since by the time we have the client's h3 Settings frame we've already finished our handshake).

The implementation of this is a bit complicated because of the QUIC connection reuse code. The simplest thing is likely to only use .ListenEarly and wait for the handshake to complete in the case of non-Webtransport transports.

Metadata

Metadata

Assignees

No one assigned

    Labels

    effort/daysEstimated to take multiple days, but less than a weekeffort/hoursEstimated to take one or several hoursexp/expertHaving worked on the specific codebase is important

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions