hyperium / hyperium/h3

Add WebTransport support

Open
#71 10 comments 15 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

A-client A-docs C-feature E-medium
Dominant language
Rust
Stars
890
Forks
136
Avg merge
14d 20h
Merged PRs (30d)
2

Description

It would be useful to support WebTransport now that it is getting released in Chrome 97.

After looking into it, some additional work seems to be required to enable this support.

The Session Establishment section of the draft defines some required settings for the settings frame. I've been experimenting a bit but I'm still stuck with a net::ERR_METHOD_NOT_SUPPORTED and an unsuccessful handshake.

I'm not sure if after achieving a successful handshake there will be additional work required to support this protocol.

I'm using aioquic as a reference, since that is the library that Chrome is using to support their example WebTransport server.

It looks like Neqo has also added WebTransport support.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the WebTransport draft's Session Establishment section and compare the required settings with the aioquic and Neqo implementations linked in the issue. Reproduce the reported Chrome handshake and investigate the net::ERR_METHOD_NOT_SUPPORTED failure; done requires a successful handshake and a defined scope for any additional protocol support.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
networking
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.