]> git.kaiwu.me - nginx.git/commit
HTTP/3: refactored dynamic table implementation.
authorRoman Arutyunyan <arut@nginx.com>
Thu, 2 Jul 2020 12:34:05 +0000 (15:34 +0300)
committerRoman Arutyunyan <arut@nginx.com>
Thu, 2 Jul 2020 12:34:05 +0000 (15:34 +0300)
commita687d08062d8cb029ab82249aa55833cf44be3ce
tree57ab07f1a9e3471ba1b43e6635bcde4094277bc7
parenta7ef0da3c8b64f2b5f4d8a7e73e724a74611284c
HTTP/3: refactored dynamic table implementation.

Previously dynamic table was not functional because of zero limit on its size
set by default.  Now the following changes enable it:

- new directives to set SETTINGS_QPACK_MAX_TABLE_CAPACITY and
  SETTINGS_QPACK_BLOCKED_STREAMS
- send settings with SETTINGS_QPACK_MAX_TABLE_CAPACITY and
  SETTINGS_QPACK_BLOCKED_STREAMS to the client
- send Insert Count Increment to the client
- send Header Acknowledgement to the client
- evict old dynamic table entries on overflow
- decode Required Insert Count from client
- block stream if Required Insert Count is not reached
src/http/ngx_http_request.c
src/http/v3/ngx_http_v3.h
src/http/v3/ngx_http_v3_module.c
src/http/v3/ngx_http_v3_parse.c
src/http/v3/ngx_http_v3_request.c
src/http/v3/ngx_http_v3_streams.c
src/http/v3/ngx_http_v3_tables.c