diff options
author | Roman Arutyunyan <arut@nginx.com> | 2021-10-06 14:48:59 +0300 |
---|---|---|
committer | Roman Arutyunyan <arut@nginx.com> | 2021-10-06 14:48:59 +0300 |
commit | ec86cf18fa5d64aba662d99ab7d195e2e6009545 (patch) | |
tree | e7e5a057daa596c8f22b3cca4322154d6248b3ed /src | |
parent | 7b12abb0a85e7790dffc08ab3ad64893d957f75c (diff) | |
download | nginx-ec86cf18fa5d64aba662d99ab7d195e2e6009545.tar.gz nginx-ec86cf18fa5d64aba662d99ab7d195e2e6009545.zip |
HTTP/3: removed client-side encoder support.
Dynamic tables are not used when generating responses anyway.
Diffstat (limited to 'src')
-rw-r--r-- | src/http/v3/ngx_http_v3_streams.c | 149 | ||||
-rw-r--r-- | src/http/v3/ngx_http_v3_streams.h | 7 |
2 files changed, 0 insertions, 156 deletions
diff --git a/src/http/v3/ngx_http_v3_streams.c b/src/http/v3/ngx_http_v3_streams.c index 1cff29319..303d1d301 100644 --- a/src/http/v3/ngx_http_v3_streams.c +++ b/src/http/v3/ngx_http_v3_streams.c @@ -480,155 +480,6 @@ failed: ngx_int_t -ngx_http_v3_send_ref_insert(ngx_connection_t *c, ngx_uint_t dynamic, - ngx_uint_t index, ngx_str_t *value) -{ - u_char *p, buf[NGX_HTTP_V3_PREFIX_INT_LEN * 2]; - size_t n; - ngx_connection_t *ec; - - ngx_log_debug3(NGX_LOG_DEBUG_HTTP, c->log, 0, - "http3 client ref insert, %s[%ui] \"%V\"", - dynamic ? "dynamic" : "static", index, value); - - ec = ngx_http_v3_get_uni_stream(c, NGX_HTTP_V3_STREAM_ENCODER); - if (ec == NULL) { - return NGX_ERROR; - } - - p = buf; - - *p = (dynamic ? 0x80 : 0xc0); - p = (u_char *) ngx_http_v3_encode_prefix_int(p, index, 6); - - /* XXX option for huffman? */ - *p = 0; - p = (u_char *) ngx_http_v3_encode_prefix_int(p, value->len, 7); - - n = p - buf; - - if (ec->send(ec, buf, n) != (ssize_t) n) { - goto failed; - } - - if (ec->send(ec, value->data, value->len) != (ssize_t) value->len) { - goto failed; - } - - return NGX_OK; - -failed: - - ngx_http_v3_close_uni_stream(ec); - - return NGX_ERROR; -} - - -ngx_int_t -ngx_http_v3_send_insert(ngx_connection_t *c, ngx_str_t *name, ngx_str_t *value) -{ - u_char buf[NGX_HTTP_V3_PREFIX_INT_LEN]; - size_t n; - ngx_connection_t *ec; - - ngx_log_debug2(NGX_LOG_DEBUG_HTTP, c->log, 0, - "http3 client insert \"%V\":\"%V\"", name, value); - - ec = ngx_http_v3_get_uni_stream(c, NGX_HTTP_V3_STREAM_ENCODER); - if (ec == NULL) { - return NGX_ERROR; - } - - /* XXX option for huffman? */ - buf[0] = 0x40; - n = (u_char *) ngx_http_v3_encode_prefix_int(buf, name->len, 5) - buf; - - if (ec->send(ec, buf, n) != (ssize_t) n) { - goto failed; - } - - if (ec->send(ec, name->data, name->len) != (ssize_t) name->len) { - goto failed; - } - - /* XXX option for huffman? */ - buf[0] = 0; - n = (u_char *) ngx_http_v3_encode_prefix_int(buf, value->len, 7) - buf; - - if (ec->send(ec, buf, n) != (ssize_t) n) { - goto failed; - } - - if (ec->send(ec, value->data, value->len) != (ssize_t) value->len) { - goto failed; - } - - return NGX_OK; - -failed: - - ngx_http_v3_close_uni_stream(ec); - - return NGX_ERROR; -} - - -ngx_int_t -ngx_http_v3_send_set_capacity(ngx_connection_t *c, ngx_uint_t capacity) -{ - u_char buf[NGX_HTTP_V3_PREFIX_INT_LEN]; - size_t n; - ngx_connection_t *ec; - - ngx_log_debug1(NGX_LOG_DEBUG_HTTP, c->log, 0, - "http3 client set capacity %ui", capacity); - - ec = ngx_http_v3_get_uni_stream(c, NGX_HTTP_V3_STREAM_ENCODER); - if (ec == NULL) { - return NGX_ERROR; - } - - buf[0] = 0x20; - n = (u_char *) ngx_http_v3_encode_prefix_int(buf, capacity, 5) - buf; - - if (ec->send(ec, buf, n) != (ssize_t) n) { - ngx_http_v3_close_uni_stream(ec); - return NGX_ERROR; - } - - return NGX_OK; -} - - -ngx_int_t -ngx_http_v3_send_duplicate(ngx_connection_t *c, ngx_uint_t index) -{ - u_char buf[NGX_HTTP_V3_PREFIX_INT_LEN]; - size_t n; - ngx_connection_t *ec; - - ngx_log_debug1(NGX_LOG_DEBUG_HTTP, c->log, 0, - "http3 client duplicate %ui", index); - - ec = ngx_http_v3_get_uni_stream(c, NGX_HTTP_V3_STREAM_ENCODER); - if (ec == NULL) { - return NGX_ERROR; - } - - buf[0] = 0; - n = (u_char *) ngx_http_v3_encode_prefix_int(buf, index, 5) - buf; - - if (ec->send(ec, buf, n) != (ssize_t) n) { - ngx_http_v3_close_uni_stream(ec); - return NGX_ERROR; - } - - return NGX_OK; -} - - -ngx_int_t ngx_http_v3_send_ack_section(ngx_connection_t *c, ngx_uint_t stream_id) { u_char buf[NGX_HTTP_V3_PREFIX_INT_LEN]; diff --git a/src/http/v3/ngx_http_v3_streams.h b/src/http/v3/ngx_http_v3_streams.h index 4f7290e4c..42ff849be 100644 --- a/src/http/v3/ngx_http_v3_streams.h +++ b/src/http/v3/ngx_http_v3_streams.h @@ -27,13 +27,6 @@ ngx_int_t ngx_http_v3_cancel_stream(ngx_connection_t *c, ngx_uint_t stream_id); ngx_int_t ngx_http_v3_send_settings(ngx_connection_t *c); ngx_int_t ngx_http_v3_send_goaway(ngx_connection_t *c, uint64_t id); -ngx_int_t ngx_http_v3_send_ref_insert(ngx_connection_t *c, ngx_uint_t dynamic, - ngx_uint_t index, ngx_str_t *value); -ngx_int_t ngx_http_v3_send_insert(ngx_connection_t *c, ngx_str_t *name, - ngx_str_t *value); -ngx_int_t ngx_http_v3_send_set_capacity(ngx_connection_t *c, - ngx_uint_t capacity); -ngx_int_t ngx_http_v3_send_duplicate(ngx_connection_t *c, ngx_uint_t index); ngx_int_t ngx_http_v3_send_ack_section(ngx_connection_t *c, ngx_uint_t stream_id); ngx_int_t ngx_http_v3_send_cancel_stream(ngx_connection_t *c, |