comparison src/event/quic/ngx_event_quic.h @ 8855: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 6c1dfd072859
children f9c788f3f5cc
comparison
equal deleted inserted replaced
8854:e5f16d886c97 8855:a5aebd51e4c7
76 ngx_connection_t *parent; 76 ngx_connection_t *parent;
77 ngx_connection_t *connection; 77 ngx_connection_t *connection;
78 uint64_t id; 78 uint64_t id;
79 uint64_t acked; 79 uint64_t acked;
80 uint64_t send_max_data; 80 uint64_t send_max_data;
81 uint64_t send_offset;
82 uint64_t send_final_size;
81 uint64_t recv_max_data; 83 uint64_t recv_max_data;
82 uint64_t recv_offset; 84 uint64_t recv_offset;
83 uint64_t recv_window; 85 uint64_t recv_window;
84 uint64_t recv_last; 86 uint64_t recv_last;
85 uint64_t recv_size; 87 uint64_t recv_size;
86 uint64_t final_size; 88 uint64_t recv_final_size;
87 ngx_chain_t *in; 89 ngx_chain_t *in;
88 ngx_chain_t *out; 90 ngx_chain_t *out;
89 ngx_uint_t cancelable; /* unsigned cancelable:1; */ 91 ngx_uint_t cancelable; /* unsigned cancelable:1; */
90 ngx_quic_stream_send_state_e send_state; 92 ngx_quic_stream_send_state_e send_state;
91 ngx_quic_stream_recv_state_e recv_state; 93 ngx_quic_stream_recv_state_e recv_state;