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

HTTP/3 #1599

Merged
merged 1 commit into from Mar 26, 2024
Merged

HTTP/3 #1599

merged 1 commit into from Mar 26, 2024

Conversation

essen
Copy link
Member

@essen essen commented Jan 31, 2023

Obviously a work in progress. It's mostly done now. Experimenting is welcome.

Building: it's complicated. Either figure it out or wait for something more stable.

@essen
Copy link
Member Author

essen commented Feb 15, 2024

The most recent push gets us very close to merging to master. I will be unavailable for a few days though so we'll see when that happens.

@essen essen force-pushed the http3 branch 6 times, most recently from 2ff9435 to 70bc0e7 Compare March 25, 2024 09:11
@essen
Copy link
Member Author

essen commented Mar 25, 2024

It's now as green as it can currently get. I will therefore merge the HTTP/3 work tomorrow after squashing everything in one and performing final checks.

This includes Websocket over HTTP/3.

Since quicer, which provides the QUIC implementation,
is a NIF, Cowboy cannot depend directly on it. In order
to enable QUIC and HTTP/3, users have to set the
COWBOY_QUICER environment variable:

  export COWBOY_QUICER=1

In order to run the test suites, the same must be done
for Gun:

  export GUN_QUICER=1

HTTP/3 support is currently not available on Windows
due to compilation issues of quicer which have yet to
be looked at or resolved.

HTTP/3 support is also unavailable on the upcoming
OTP-27 due to compilation errors in quicer dependencies.
Once resolved HTTP/3 should work on OTP-27.

Because of how QUIC currently works, it's possible
that streams that get reset after sending a response
do not receive that response. The test suite was
modified to accomodate for that. A future extension
to QUIC will allow us to gracefully reset streams.

This also updates Erlang.mk.
@essen essen merged commit 8cb9d24 into master Mar 26, 2024
33 of 37 checks passed
@essen
Copy link
Member Author

essen commented Mar 26, 2024

Merged!!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

1 participant