QUIC: always add ACK frame to the queue head.

Previously it was added to the tail as all other frames.  However, if the
amount of queued data is large, it could delay the delivery of ACK, which
could trigger frames retransmissions and slow down the connection.
This commit is contained in:
Roman Arutyunyan 2023-08-10 20:11:29 +04:00
parent 6e60e21ac0
commit 6f5f17358e

View File

@ -1174,8 +1174,9 @@ ngx_quic_send_ack(ngx_connection_t *c, ngx_quic_send_ctx_t *ctx)
frame->u.ack.delay = ack_delay;
frame->u.ack.range_count = ctx->nranges;
frame->u.ack.first_range = ctx->first_range;
frame->len = ngx_quic_create_frame(NULL, frame);
ngx_quic_queue_frame(qc, frame);
ngx_queue_insert_head(&ctx->frames, &frame->queue);
return NGX_OK;
}