Mercurial > hg > nginx-quic
changeset 8836:868e1b76c956 quic
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.
author | Sergey Kandaurov <pluknet@nginx.com> |
---|---|
date | Wed, 02 Feb 2022 15:57:08 +0300 |
parents | cd8018bc81a5 |
children | 740e8b99519d |
files | src/event/quic/ngx_event_quic_output.c |
diffstat | 1 files changed, 6 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- 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); }