# HG changeset patch # User Vladimir Homutov # Date 1603301965 -10800 # Node ID c01964fd7b8b7f5f6a3320c826ca6e7872c5c748 # Parent 85a550047eb578af28772f7bc7f3f3834af14245 QUIC: fixed dropping output ack ranges on input ack. While there, additional debug messages were added. diff --git a/src/event/ngx_event_quic.c b/src/event/ngx_event_quic.c --- a/src/event/ngx_event_quic.c +++ b/src/event/ngx_event_quic.c @@ -2309,9 +2309,10 @@ ngx_quic_ack_packet(ngx_connection_t *c, ctx = ngx_quic_get_send_ctx(c->quic, pkt->level); - ngx_log_debug3(NGX_LOG_DEBUG_EVENT, c->log, 0, - "ngx_quic_ack_packet pn %uL largest %uL nranges %ui", - pkt->pn, ctx->largest_range, ctx->nranges); + ngx_log_debug4(NGX_LOG_DEBUG_EVENT, c->log, 0, + "ngx_quic_ack_packet pn %uL largest %uL" + " first %uL nranges %ui", pkt->pn, ctx->largest_range, + ctx->first_range, ctx->nranges); prev_pending = ctx->pending_ack; @@ -2549,6 +2550,11 @@ ngx_quic_drop_ack_ranges(ngx_connection_ ngx_uint_t i, smallest, largest; ngx_quic_ack_range_t *r; + ngx_log_debug4(NGX_LOG_DEBUG_EVENT, c->log, 0, + "ngx_quic_drop_ack_ranges pn %uL largest %uL" + " first %uL nranges %ui", pn, ctx->largest_range, + ctx->first_range, ctx->nranges); + base = ctx->largest_range; if (base == NGX_QUIC_UNSET_PN) { @@ -2793,6 +2799,8 @@ ngx_quic_handle_ack_frame(ngx_connection } } + ngx_quic_drop_ack_ranges(c, ctx, ack->largest); + pos = ack->ranges_start; end = ack->ranges_end; @@ -2863,9 +2871,6 @@ ngx_quic_handle_ack_frame_range(ngx_conn ngx_quic_congestion_ack(c, f); switch (f->type) { - case NGX_QUIC_FT_ACK: - ngx_quic_drop_ack_ranges(c, ctx, f->u.ack.largest); - break; case NGX_QUIC_FT_STREAM0: case NGX_QUIC_FT_STREAM1: