Mercurial > hg > nginx
changeset 9063:e3760b9b7c8e quic
HTTP/3: fixed $connection_time.
Previously, start_time wasn't set for a new stream.
The fix is to derive it from the parent connection.
Also it's used to simplify tracking keepalive_time.
author | Sergey Kandaurov <pluknet@nginx.com> |
---|---|
date | Tue, 10 Jan 2023 17:59:16 +0400 |
parents | 987bee4363d1 |
children | 35e27117b593 |
files | src/event/quic/ngx_event_quic_streams.c src/http/v3/ngx_http_v3_request.c |
diffstat | 2 files changed, 2 insertions(+), 4 deletions(-) [+] |
line wrap: on
line diff
--- a/src/event/quic/ngx_event_quic_streams.c Tue Jan 03 16:24:45 2023 +0400 +++ b/src/event/quic/ngx_event_quic_streams.c Tue Jan 10 17:59:16 2023 +0400 @@ -682,6 +682,7 @@ sc->local_sockaddr = c->local_sockaddr; sc->local_socklen = c->local_socklen; sc->number = ngx_atomic_fetch_add(ngx_connection_counter, 1); + sc->start_time = c->start_time; sc->tcp_nodelay = NGX_TCP_NODELAY_DISABLED; sc->recv = ngx_quic_stream_recv;
--- a/src/http/v3/ngx_http_v3_request.c Tue Jan 03 16:24:45 2023 +0400 +++ b/src/http/v3/ngx_http_v3_request.c Tue Jan 10 17:59:16 2023 +0400 @@ -165,7 +165,6 @@ { uint64_t n; ngx_event_t *rev; - ngx_connection_t *pc; ngx_pool_cleanup_t *cln; ngx_http_connection_t *hc; ngx_http_v3_session_t *h3c; @@ -199,12 +198,10 @@ return; } - pc = c->quic->parent; - h3c->next_request_id = c->quic->id + 0x04; if (n + 1 == clcf->keepalive_requests - || ngx_current_msec - pc->start_time > clcf->keepalive_time) + || ngx_current_msec - c->start_time > clcf->keepalive_time) { h3c->goaway = 1;