summaryrefslogtreecommitdiffhomepage
path: root/src/http/v2/ngx_http_v2.h
diff options
context:
space:
mode:
authorRuslan Ermilov <ru@nginx.com>2020-07-03 16:16:47 +0300
committerRuslan Ermilov <ru@nginx.com>2020-07-03 16:16:47 +0300
commit829c9d5981da1abc81dd7e2fb563da592203e54a (patch)
tree5b1fdad634deea9eae5f17ddbd1bc475cd5b6b9b /src/http/v2/ngx_http_v2.h
parentfa2f2e35082ba01a8aed026b34fc5246637f104e (diff)
downloadnginx-829c9d5981da1abc81dd7e2fb563da592203e54a.tar.gz
nginx-829c9d5981da1abc81dd7e2fb563da592203e54a.tar.bz2
HTTP/2: lingering close after GOAWAY.
After sending the GOAWAY frame, a connection is now closed using the lingering close mechanism. This allows for the reliable delivery of the GOAWAY frames, while also fixing connection resets observed when http2_max_requests is reached (ticket #1250), or with graceful shutdown (ticket #1544), when some additional data from the client is received on a fully closed connection. For HTTP/2, the settings lingering_close, lingering_timeout, and lingering_time are taken from the "server" level.
Diffstat (limited to 'src/http/v2/ngx_http_v2.h')
-rw-r--r--src/http/v2/ngx_http_v2.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/http/v2/ngx_http_v2.h b/src/http/v2/ngx_http_v2.h
index 59ddf54e2..349229711 100644
--- a/src/http/v2/ngx_http_v2.h
+++ b/src/http/v2/ngx_http_v2.h
@@ -157,6 +157,8 @@ struct ngx_http_v2_connection_s {
ngx_uint_t last_sid;
ngx_uint_t last_push;
+ time_t lingering_time;
+
unsigned closed_nodes:8;
unsigned settings_ack:1;
unsigned table_update:1;