summaryrefslogtreecommitdiffhomepage
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/event/quic/ngx_event_quic_streams.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/src/event/quic/ngx_event_quic_streams.c b/src/event/quic/ngx_event_quic_streams.c
index 6f0a752a7..3b72f8339 100644
--- a/src/event/quic/ngx_event_quic_streams.c
+++ b/src/event/quic/ngx_event_quic_streams.c
@@ -472,6 +472,17 @@ ngx_quic_get_stream(ngx_connection_t *c, uint64_t id)
if (qc->streams.initialized) {
ngx_post_event(rev, &ngx_posted_events);
+
+ if (qc->push.posted) {
+ /*
+ * The posted stream can produce output immediately.
+ * By postponing the push event, we coalesce the stream
+ * output with queued frames in one UDP datagram.
+ */
+
+ ngx_delete_posted_event(&qc->push);
+ ngx_post_event(&qc->push, &ngx_posted_events);
+ }
}
}