[PATCH] QUIC: fixed $connection_time

Roman Arutyunyan arut at nginx.com
Tue Jan 10 13:40:55 UTC 2023


On Tue, Jan 10, 2023 at 05:34:03PM +0400, Sergey Kandaurov wrote:
> # HG changeset patch
> # User Sergey Kandaurov <pluknet at nginx.com>
> # Date 1673354510 -14400
> #      Tue Jan 10 16:41:50 2023 +0400
> # Branch quic
> # Node ID 267dbbc62495f5481224c956145697a91364e532
> # Parent  19633ad7b73cba34e61f5619193cbcac2f949947
> QUIC: fixed $connection_time.
> 
> Previously, start_time wasn't set for a new stream.
> The fix is to derive it from the parent connection.
> Additionally, it's used to simplify keepalive_time.

tracking keepalive_time?

> diff --git a/src/event/quic/ngx_event_quic_streams.c b/src/event/quic/ngx_event_quic_streams.c
> --- a/src/event/quic/ngx_event_quic_streams.c
> +++ b/src/event/quic/ngx_event_quic_streams.c
> @@ -689,6 +689,7 @@ ngx_quic_create_stream(ngx_connection_t 
>      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
> --- 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_conn
>  {
>      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_conn
>          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;
>  
> _______________________________________________
> nginx-devel mailing list
> nginx-devel at nginx.org
> https://mailman.nginx.org/mailman/listinfo/nginx-devel

Looks ok

--
Roman Arutyunyan


More information about the nginx-devel mailing list