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.
pull/87/head
Roman Arutyunyan 2 years ago
parent 6e60e21ac0
commit 6f5f17358e
  1. 3
      src/event/quic/ngx_event_quic_output.c

@ -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;
}

Loading…
Cancel
Save