summaryrefslogtreecommitdiffhomepage
path: root/src/event/quic/ngx_event_quic.h
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/event/quic/ngx_event_quic.h
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/event/quic/ngx_event_quic.h')
-rw-r--r--src/event/quic/ngx_event_quic.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/event/quic/ngx_event_quic.h b/src/event/quic/ngx_event_quic.h
index be0eec699..0a38d911c 100644
--- a/src/event/quic/ngx_event_quic.h
+++ b/src/event/quic/ngx_event_quic.h
@@ -120,6 +120,7 @@ struct ngx_quic_stream_s {
uint64_t send_max_data;
ngx_buf_t *b;
ngx_quic_frames_stream_t fs;
+ ngx_uint_t cancelable; /* unsigned cancelable:1; */
};
@@ -130,6 +131,8 @@ void ngx_quic_run(ngx_connection_t *c, ngx_quic_conf_t *conf);
ngx_connection_t *ngx_quic_open_stream(ngx_connection_t *c, ngx_uint_t bidi);
void ngx_quic_finalize_connection(ngx_connection_t *c, ngx_uint_t err,
const char *reason);
+void ngx_quic_shutdown_connection(ngx_connection_t *c, ngx_uint_t err,
+ const char *reason);
ngx_int_t ngx_quic_reset_stream(ngx_connection_t *c, ngx_uint_t err);
uint32_t ngx_quic_version(ngx_connection_t *c);
ngx_int_t ngx_quic_get_packet_dcid(ngx_log_t *log, u_char *data, size_t len,