The Huffman encoder/decoder now can be built separately from HTTP/2 module.
have=NGX_HTTP_HEADERS . auto/have
HTTP_QUIC=YES
- # XXX for Huffman
- HTTP_V2=YES
-
ngx_module_name=ngx_http_v3_module
ngx_module_incs=src/http/v3
ngx_module_deps="src/http/v3/ngx_http_v3.h \
ngx_module_libs=
ngx_module_link=$HTTP_V3
+ if [ $HTTP_V2 = NO ]; then
+ ngx_module_srcs="$ngx_module_srcs \
+ src/http/v2/ngx_http_v2_huff_decode.c \
+ src/http/v2/ngx_http_v2_huff_encode.c"
+ fi
+
. auto/module
fi
ngx_uint_t ngx_http_degraded(ngx_http_request_t *);
#endif
+#if (NGX_HTTP_V2 || NGX_HTTP_V3)
+ngx_int_t ngx_http_v2_huff_decode(u_char *state, u_char *src, size_t len,
+ u_char **dst, ngx_uint_t last, ngx_log_t *log);
+size_t ngx_http_v2_huff_encode(u_char *src, size_t len, u_char *dst,
+ ngx_uint_t lower);
+#endif
extern ngx_module_t ngx_http_module;
ngx_int_t ngx_http_v2_table_size(ngx_http_v2_connection_t *h2c, size_t size);
-ngx_int_t ngx_http_v2_huff_decode(u_char *state, u_char *src, size_t len,
- u_char **dst, ngx_uint_t last, ngx_log_t *log);
-size_t ngx_http_v2_huff_encode(u_char *src, size_t len, u_char *dst,
- ngx_uint_t lower);
-
-
#define ngx_http_v2_prefix(bits) ((1 << (bits)) - 1)