Mercurial > hg > nginx
diff src/event/quic/ngx_event_quic.h @ 8724:fc64ab301bad quic
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.
author | Roman Arutyunyan <arut@nginx.com> |
---|---|
date | Mon, 15 Mar 2021 16:39:33 +0300 |
parents | 12df02cc709f |
children | 9ce6d80df113 |
line wrap: on
line diff
--- 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, n 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,