]> git.kaiwu.me - nginx.git/commitdiff
QUIC: restored proper usage of ngx_quic_drop_ack_ranges().
authorSergey Kandaurov <pluknet@nginx.com>
Thu, 22 Oct 2020 10:05:50 +0000 (11:05 +0100)
committerSergey Kandaurov <pluknet@nginx.com>
Thu, 22 Oct 2020 10:05:50 +0000 (11:05 +0100)
ACK Ranges are again managed based on the remembered Largest Acknowledged
sent in the packet being acknowledged, which partially reverts c01964fd7b8b.

src/event/ngx_event_quic.c

index 7848a77ac9faade50bef44818992ce40dc358926..70fb09eeb92e1c67a9ef68234f1e512bb39075b9 100644 (file)
@@ -2799,8 +2799,6 @@ ngx_quic_handle_ack_frame(ngx_connection_t *c, ngx_quic_header_t *pkt,
         }
     }
 
-    ngx_quic_drop_ack_ranges(c, ctx, ack->largest);
-
     pos = ack->ranges_start;
     end = ack->ranges_end;
 
@@ -2871,6 +2869,10 @@ ngx_quic_handle_ack_frame_range(ngx_connection_t *c, ngx_quic_send_ctx_t *ctx,
             ngx_quic_congestion_ack(c, f);
 
             switch (f->type) {
+            case NGX_QUIC_FT_ACK:
+            case NGX_QUIC_FT_ACK_ECN:
+                ngx_quic_drop_ack_ranges(c, ctx, f->u.ack.largest);
+                break;
 
             case NGX_QUIC_FT_STREAM0:
             case NGX_QUIC_FT_STREAM1: