QUIC: updated README.

- ACK ranges are implemented
 - up to draft-32 is now supported
 - removed mentions of early alpha quality and further cleanup
This commit is contained in:
Sergey Kandaurov 2020-10-22 12:55:15 +01:00
parent fec3d792c9
commit 8e1ec8a5c2

22
README
View File

@ -15,12 +15,12 @@ Experimental QUIC support for nginx
The code is developed in a separate "quic" branch available The code is developed in a separate "quic" branch available
at https://hg.nginx.org/nginx-quic. Currently it is based at https://hg.nginx.org/nginx-quic. Currently it is based
on nginx mainline 1.19.x. We are planning to merge new nginx on nginx mainline 1.19.x. We merge new nginx releases into
releases into this branch regularly. this branch regularly.
The project code base is under the same BSD license as nginx. The project code base is under the same BSD license as nginx.
The code is at an early alpha level of quality and should not The code is currently at a beta level of quality and should not
be used in production. be used in production.
We are working on improving HTTP/3 support with the goal of We are working on improving HTTP/3 support with the goal of
@ -34,13 +34,13 @@ Experimental QUIC support for nginx
What works now: What works now:
Currently we support IETF-QUIC draft-27, draft-28, draft-29. Currently we support IETF-QUIC draft-27 through draft-32.
Earlier drafts are NOT supported as they have incompatible wire format. Earlier drafts are NOT supported as they have incompatible wire format.
You may look at src/event/ngx_event_quic.h for alternative values of the You may look at src/event/ngx_event_quic.h for alternative values of the
NGX_QUIC_DRAFT_VERSION macro used to select IETF draft version number. NGX_QUIC_DRAFT_VERSION macro used to select IETF draft version number.
nginx should be able to respond to simple HTTP/3 requests over QUIC and nginx should be able to respond to HTTP/3 requests over QUIC and
it should be possible to upload and download big files without errors. it should be possible to upload and download big files without errors.
+ The handshake completes successfully + The handshake completes successfully
@ -67,9 +67,6 @@ Experimental QUIC support for nginx
Since the code is experimental and still under development, Since the code is experimental and still under development,
a lot of things may not work as expected, for example: a lot of things may not work as expected, for example:
- ACK handling is basic: every received ack-eliciting packet
is acknowledged, no ack ranges are used
- Flow control mechanism is basic and intended to avoid CPU hog and make - Flow control mechanism is basic and intended to avoid CPU hog and make
simple interactions possible simple interactions possible
@ -217,8 +214,7 @@ Example configuration:
Here are some tips that may help you to identify problems: Here are some tips that may help you to identify problems:
+ Ensure you are building with proper SSL library that + Ensure you are building with proper SSL library that supports QUIC
implements draft 29
+ Ensure you are using the proper SSL library in runtime + Ensure you are using the proper SSL library in runtime
(`nginx -V` will show you what you are using) (`nginx -V` will show you what you are using)
@ -251,10 +247,10 @@ Example configuration:
7. Links 7. Links
[1] https://tools.ietf.org/html/draft-ietf-quic-transport-29 [1] https://tools.ietf.org/html/draft-ietf-quic-transport
[2] https://tools.ietf.org/html/draft-ietf-quic-http-29 [2] https://tools.ietf.org/html/draft-ietf-quic-http
[3] https://mailman.nginx.org/mailman/listinfo/nginx-devel [3] https://mailman.nginx.org/mailman/listinfo/nginx-devel
[4] https://boringssl.googlesource.com/boringssl/ [4] https://boringssl.googlesource.com/boringssl/
[5] https://tools.ietf.org/html/draft-ietf-quic-recovery-29 [5] https://tools.ietf.org/html/draft-ietf-quic-recovery
[6] https://nginx.org/en/docs/http/ngx_http_core_module.html#listen [6] https://nginx.org/en/docs/http/ngx_http_core_module.html#listen
[7] https://nginx.org/en/docs/debugging_log.html [7] https://nginx.org/en/docs/debugging_log.html