comparison src/event/quic/ngx_event_quic_connection.h @ 8492:af33d1ef1c3c quic

QUIC: stream flow control refactored. - Function ngx_quic_control_flow() is introduced. This functions does both MAX_DATA and MAX_STREAM_DATA flow controls. The function is called from STREAM and RESET_STREAM frame handlers. Previously, flow control was only accounted for STREAM. Also, MAX_DATA flow control was not accounted at all. - Function ngx_quic_update_flow() is introduced. This function advances flow control windows and sends MAX_DATA/MAX_STREAM_DATA. The function is called from RESET_STREAM frame handler, stream cleanup handler and stream recv() handler.
author Roman Arutyunyan <arut@nginx.com>
date Mon, 07 Jun 2021 10:12:46 +0300
parents b3f6ad181df4
children 004172345bdc
comparison
equal deleted inserted replaced
8491:ac0398da8f23 8492:af33d1ef1c3c
113 113
114 typedef struct { 114 typedef struct {
115 ngx_rbtree_t tree; 115 ngx_rbtree_t tree;
116 ngx_rbtree_node_t sentinel; 116 ngx_rbtree_node_t sentinel;
117 117
118 uint64_t received;
119 uint64_t sent; 118 uint64_t sent;
119 uint64_t recv_offset;
120 uint64_t recv_window;
121 uint64_t recv_last;
120 uint64_t recv_max_data; 122 uint64_t recv_max_data;
121 uint64_t send_max_data; 123 uint64_t send_max_data;
122 124
123 uint64_t server_max_streams_uni; 125 uint64_t server_max_streams_uni;
124 uint64_t server_max_streams_bidi; 126 uint64_t server_max_streams_bidi;