# HG changeset patch # User Sergey Kandaurov # Date 1643806628 -10800 # Node ID 868e1b76c95621dd77b17cb4557b5ec5b20227d9 # Parent cd8018bc81a52ca7de2eb4e779dfd574c8a661a2 QUIC: do not arm loss detection timer if nothing was sent. Notably, this became quite practicable after the recent fix in cd8018bc81a5. Additionally, do not arm loss detection timer on connection termination. diff --git a/src/event/quic/ngx_event_quic_output.c b/src/event/quic/ngx_event_quic_output.c --- a/src/event/quic/ngx_event_quic_output.c +++ b/src/event/quic/ngx_event_quic_output.c @@ -104,7 +104,12 @@ ngx_quic_output(ngx_connection_t *c) return NGX_ERROR; } - if (in_flight != cg->in_flight && !qc->send_timer_set && !qc->closing) { + if (in_flight == cg->in_flight || qc->closing) { + /* no ack-eliciting data was sent or we are done */ + return NGX_OK; + } + + if (!qc->send_timer_set) { qc->send_timer_set = 1; ngx_add_timer(c->read, qc->tp.max_idle_timeout); }