diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/event/ngx_event_quic.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/src/event/ngx_event_quic.c b/src/event/ngx_event_quic.c index 11895d4e6..56cf9d06f 100644 --- a/src/event/ngx_event_quic.c +++ b/src/event/ngx_event_quic.c @@ -3058,7 +3058,8 @@ ngx_quic_output(ngx_connection_t *c) } if (!qc->retransmit.timer_set && !qc->closing) { - ngx_add_timer(&qc->retransmit, qc->ctp.max_ack_delay); + ngx_add_timer(&qc->retransmit, + qc->ctp.max_ack_delay + NGX_QUIC_HARDCODED_PTO); } return NGX_OK; @@ -3414,7 +3415,8 @@ ngx_quic_retransmit(ngx_connection_t *c, ngx_quic_send_ctx_t *ctx, do { start = ngx_queue_data(q, ngx_quic_frame_t, queue); - wait = start->last + qc->ctp.max_ack_delay - now; + wait = start->last + qc->ctp.max_ack_delay + + NGX_QUIC_HARDCODED_PTO - now; if ((ngx_msec_int_t) wait > 0) { break; @@ -3455,7 +3457,7 @@ ngx_quic_retransmit(ngx_connection_t *c, ngx_quic_send_ctx_t *ctx, /* move frames group to the end of queue */ ngx_queue_add(&ctx->sent, &range); - wait = qc->tp.max_ack_delay; + wait = qc->ctp.max_ack_delay + NGX_QUIC_HARDCODED_PTO; } while (q != ngx_queue_sentinel(&ctx->sent)); |
