mirror of
https://github.com/nginx/nginx.git
synced 2024-11-28 08:09:00 +08:00
HTTP/3: removed client-side encoder support.
Dynamic tables are not used when generating responses anyway.
This commit is contained in:
parent
7b12abb0a8
commit
ec86cf18fa
@ -479,155 +479,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)
|
||||
{
|
||||
|
@ -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,
|
||||
|
Loading…
Reference in New Issue
Block a user