summaryrefslogtreecommitdiffhomepage
path: root/src/http/v3/ngx_http_v3_streams.c
diff options
context:
space:
mode:
authorRoman Arutyunyan <arut@nginx.com>2021-03-15 16:39:33 +0300
committerRoman Arutyunyan <arut@nginx.com>2021-03-15 16:39:33 +0300
commit9533df5b728833dd516f44d18953a3731c29e787 (patch)
tree4d6afd89f17d4777bc14b9065cd5434731b4840a /src/http/v3/ngx_http_v3_streams.c
parent190b5d961c0c9b0942dd1a2d8cd609416d0d5114 (diff)
downloadnginx-9533df5b728833dd516f44d18953a3731c29e787.tar.gz
nginx-9533df5b728833dd516f44d18953a3731c29e787.tar.bz2
QUIC: connection shutdown.
The function ngx_quic_shutdown_connection() waits until all non-cancelable streams are closed, and then closes the connection. In HTTP/3 cancelable streams are all unidirectional streams except push streams. The function is called from HTTP/3 when client reaches keepalive_requests.
Diffstat (limited to 'src/http/v3/ngx_http_v3_streams.c')
-rw-r--r--src/http/v3/ngx_http_v3_streams.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/http/v3/ngx_http_v3_streams.c b/src/http/v3/ngx_http_v3_streams.c
index e09556c93..eac49a659 100644
--- a/src/http/v3/ngx_http_v3_streams.c
+++ b/src/http/v3/ngx_http_v3_streams.c
@@ -80,6 +80,8 @@ ngx_http_v3_init_uni_stream(ngx_connection_t *c)
ngx_log_debug0(NGX_LOG_DEBUG_HTTP, c->log, 0, "http3 init uni stream");
+ c->quic->cancelable = 1;
+
us = ngx_pcalloc(c->pool, sizeof(ngx_http_v3_uni_stream_t));
if (us == NULL) {
ngx_http_close_connection(c);
@@ -436,6 +438,8 @@ ngx_http_v3_get_uni_stream(ngx_connection_t *c, ngx_uint_t type)
return NULL;
}
+ sc->quic->cancelable = 1;
+
ngx_log_debug1(NGX_LOG_DEBUG_HTTP, c->log, 0,
"http3 create uni stream, type:%ui", type);