Mercurial > hg > nginx
comparison src/event/quic/ngx_event_quic.c @ 9010:a5aebd51e4c7 quic
QUIC: stream lingering.
Now ngx_quic_stream_t is decoupled from ngx_connection_t in a way that it
can persist after connection is closed by application. During this period,
server is expecting stream final size from client for correct flow control.
Also, buffered output is sent to client as more flow control credit is granted.
author | Roman Arutyunyan <arut@nginx.com> |
---|---|
date | Sat, 05 Feb 2022 12:54:54 +0300 |
parents | 2dc4203d812c |
children | f9c788f3f5cc |
comparison
equal
deleted
inserted
replaced
9009:e5f16d886c97 | 9010:a5aebd51e4c7 |
---|---|
301 ctp->ack_delay_exponent = NGX_QUIC_DEFAULT_ACK_DELAY_EXPONENT; | 301 ctp->ack_delay_exponent = NGX_QUIC_DEFAULT_ACK_DELAY_EXPONENT; |
302 ctp->max_ack_delay = NGX_QUIC_DEFAULT_MAX_ACK_DELAY; | 302 ctp->max_ack_delay = NGX_QUIC_DEFAULT_MAX_ACK_DELAY; |
303 ctp->active_connection_id_limit = 2; | 303 ctp->active_connection_id_limit = 2; |
304 | 304 |
305 ngx_queue_init(&qc->streams.uninitialized); | 305 ngx_queue_init(&qc->streams.uninitialized); |
306 ngx_queue_init(&qc->streams.free); | |
306 | 307 |
307 qc->streams.recv_max_data = qc->tp.initial_max_data; | 308 qc->streams.recv_max_data = qc->tp.initial_max_data; |
308 qc->streams.recv_window = qc->streams.recv_max_data; | 309 qc->streams.recv_window = qc->streams.recv_max_data; |
309 | 310 |
310 qc->streams.client_max_streams_uni = qc->tp.initial_max_streams_uni; | 311 qc->streams.client_max_streams_uni = qc->tp.initial_max_streams_uni; |