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.
This commit is contained in:
Sergey Kandaurov 2022-02-02 15:57:08 +03:00
parent 144c6f6aa7
commit 2e7f031ba8
1 changed files with 6 additions and 1 deletions

View File

@ -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);
}