changeset 8661:49efd27dace6 quic

QUIC: use client max_ack_delay when computing pto timeout. Previously, server max_ack_delay was used which is wrong. Also, level check is simplified.
author Roman Arutyunyan <arut@nginx.com>
date Wed, 09 Dec 2020 16:15:24 +0000
parents 6201cef77b1d
children b9ac4752d0e6
files src/event/ngx_event_quic.c
diffstat 1 files changed, 2 insertions(+), 4 deletions(-) [+]
line wrap: on
line diff
--- a/src/event/ngx_event_quic.c
+++ b/src/event/ngx_event_quic.c
@@ -3423,10 +3423,8 @@ ngx_quic_pto(ngx_connection_t *c, ngx_qu
         return duration;
     }
 
-    if (ctx == &qc->send_ctx[2] && c->ssl->handshaked) {
-        /* application send space */
-
-        duration += qc->tp.max_ack_delay << qc->pto_count;
+    if (ctx->level == ssl_encryption_application && c->ssl->handshaked) {
+        duration += qc->ctp.max_ack_delay << qc->pto_count;
     }
 
     return duration;