QUIC: fixed PTO expiration condition.

Previously, PTO handler analyzed the first packet in the sent queue for the
timeout expiration.  However, the last sent packet should be analyzed instead.
An example is timeout calculation in ngx_quic_set_lost_timer().
This commit is contained in:
Roman Arutyunyan 2023-08-01 11:21:59 +04:00
parent 57f87d6163
commit 842a930b88

View File

@ -840,7 +840,7 @@ ngx_quic_pto_handler(ngx_event_t *ev)
continue; continue;
} }
q = ngx_queue_head(&ctx->sent); q = ngx_queue_last(&ctx->sent);
f = ngx_queue_data(q, ngx_quic_frame_t, queue); f = ngx_queue_data(q, ngx_quic_frame_t, queue);
if (f->pnum <= ctx->largest_ack if (f->pnum <= ctx->largest_ack