aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorSergey Kandaurov <pluknet@nginx.com>2023-01-10 17:59:16 +0400
committerSergey Kandaurov <pluknet@nginx.com>2023-01-10 17:59:16 +0400
commit1fe0913fccedfffade10a88d3fb3033339a42900 (patch)
tree129bc4d69eb757289c67cfd67a5d3fcc7b499255 /src
parentd04f45ac5bddb034ec8c5b0874a7358a991d1b77 (diff)
downloadnginx-1fe0913fccedfffade10a88d3fb3033339a42900.tar.gz
nginx-1fe0913fccedfffade10a88d3fb3033339a42900.zip
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.
Diffstat (limited to 'src')
-rw-r--r--src/event/quic/ngx_event_quic_streams.c1
-rw-r--r--src/http/v3/ngx_http_v3_request.c5
2 files changed, 2 insertions, 4 deletions
diff --git a/src/event/quic/ngx_event_quic_streams.c b/src/event/quic/ngx_event_quic_streams.c
index 2b613ac74..785625547 100644
--- a/src/event/quic/ngx_event_quic_streams.c
+++ b/src/event/quic/ngx_event_quic_streams.c
@@ -682,6 +682,7 @@ ngx_quic_create_stream(ngx_connection_t *c, uint64_t id)
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;
diff --git a/src/http/v3/ngx_http_v3_request.c b/src/http/v3/ngx_http_v3_request.c
index f05198903..8a5aeeb14 100644
--- a/src/http/v3/ngx_http_v3_request.c
+++ b/src/http/v3/ngx_http_v3_request.c
@@ -165,7 +165,6 @@ ngx_http_v3_init_request_stream(ngx_connection_t *c)
{
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 @@ ngx_http_v3_init_request_stream(ngx_connection_t *c)
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;