summaryrefslogtreecommitdiffhomepage
path: root/src/event/ngx_event_quic.c
diff options
context:
space:
mode:
authorSergey Kandaurov <pluknet@nginx.com>2020-08-19 13:24:54 +0300
committerSergey Kandaurov <pluknet@nginx.com>2020-08-19 13:24:54 +0300
commitf760147d9de72bf162d354807dc8b16522d9433c (patch)
tree84b0a31abd71f625eb4610f3dd6f0971060ed994 /src/event/ngx_event_quic.c
parent3b83a140ff2710911f6f3251e0d3a7f1ec3f1ac0 (diff)
downloadnginx-f760147d9de72bf162d354807dc8b16522d9433c.tar.gz
nginx-f760147d9de72bf162d354807dc8b16522d9433c.tar.bz2
QUIC: do not artificially delay sending queued frames.
This interacts badly with retransmissions of lost packets and can provoke spurious client retransmits.
Diffstat (limited to 'src/event/ngx_event_quic.c')
-rw-r--r--src/event/ngx_event_quic.c16
1 files changed, 1 insertions, 15 deletions
diff --git a/src/event/ngx_event_quic.c b/src/event/ngx_event_quic.c
index ef57f6cad..5a049ed3f 100644
--- a/src/event/ngx_event_quic.c
+++ b/src/event/ngx_event_quic.c
@@ -84,8 +84,6 @@ typedef struct {
ngx_queue_t frames;
ngx_queue_t sent;
-
- size_t frames_len;
} ngx_quic_send_ctx_t;
@@ -3351,22 +3349,11 @@ ngx_quic_queue_frame(ngx_quic_connection_t *qc, ngx_quic_frame_t *frame)
frame->len = ngx_quic_create_frame(NULL, frame);
/* always succeeds */
- ctx->frames_len += frame->len;
-
if (qc->closing) {
return;
}
- /* TODO: TCP_NODELAY analogue ? TCP_CORK and others... */
-
- if (ctx->frames_len < NGX_QUIC_MIN_DATA_NODELAY) {
- if (!qc->push.timer_set) {
- ngx_add_timer(&qc->push, qc->tp.max_ack_delay);
- }
-
- } else {
- ngx_post_event(&qc->push, &ngx_posted_events);
- }
+ ngx_post_event(&qc->push, &ngx_posted_events);
}
@@ -3463,7 +3450,6 @@ ngx_quic_output_frames(ngx_connection_t *c, ngx_quic_send_ctx_t *ctx)
ngx_queue_remove(&f->queue);
ngx_queue_insert_tail(&range, &f->queue);
- ctx->frames_len -= f->len;
len += f->len;