Mercurial > hg > nginx-quic
comparison src/event/ngx_event_quic.c @ 8159:06af25901b1a quic
QUIC: restored proper usage of ngx_quic_drop_ack_ranges().
ACK Ranges are again managed based on the remembered Largest Acknowledged
sent in the packet being acknowledged, which partially reverts c01964fd7b8b.
author | Sergey Kandaurov <pluknet@nginx.com> |
---|---|
date | Thu, 22 Oct 2020 11:05:50 +0100 |
parents | c01964fd7b8b |
children | 454aa886c5f3 |
comparison
equal
deleted
inserted
replaced
8158:c01964fd7b8b | 8159:06af25901b1a |
---|---|
2797 if (send_time != NGX_TIMER_INFINITE) { | 2797 if (send_time != NGX_TIMER_INFINITE) { |
2798 ngx_quic_rtt_sample(c, ack, pkt->level, send_time); | 2798 ngx_quic_rtt_sample(c, ack, pkt->level, send_time); |
2799 } | 2799 } |
2800 } | 2800 } |
2801 | 2801 |
2802 ngx_quic_drop_ack_ranges(c, ctx, ack->largest); | |
2803 | |
2804 pos = ack->ranges_start; | 2802 pos = ack->ranges_start; |
2805 end = ack->ranges_end; | 2803 end = ack->ranges_end; |
2806 | 2804 |
2807 for (i = 0; i < ack->range_count; i++) { | 2805 for (i = 0; i < ack->range_count; i++) { |
2808 | 2806 |
2869 | 2867 |
2870 if (f->pnum >= min && f->pnum <= max) { | 2868 if (f->pnum >= min && f->pnum <= max) { |
2871 ngx_quic_congestion_ack(c, f); | 2869 ngx_quic_congestion_ack(c, f); |
2872 | 2870 |
2873 switch (f->type) { | 2871 switch (f->type) { |
2872 case NGX_QUIC_FT_ACK: | |
2873 case NGX_QUIC_FT_ACK_ECN: | |
2874 ngx_quic_drop_ack_ranges(c, ctx, f->u.ack.largest); | |
2875 break; | |
2874 | 2876 |
2875 case NGX_QUIC_FT_STREAM0: | 2877 case NGX_QUIC_FT_STREAM0: |
2876 case NGX_QUIC_FT_STREAM1: | 2878 case NGX_QUIC_FT_STREAM1: |
2877 case NGX_QUIC_FT_STREAM2: | 2879 case NGX_QUIC_FT_STREAM2: |
2878 case NGX_QUIC_FT_STREAM3: | 2880 case NGX_QUIC_FT_STREAM3: |