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.
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;
{
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;
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;