summaryrefslogtreecommitdiffhomepage
path: root/src/event/quic/ngx_event_quic_connection.h
diff options
context:
space:
mode:
authorRoman Arutyunyan <arut@nginx.com>2021-06-07 10:12:46 +0300
committerRoman Arutyunyan <arut@nginx.com>2021-06-07 10:12:46 +0300
commit64586eaa36f1dbc5e21e9007a372c6fb049a6986 (patch)
tree353897ab7fcf961452dcdae91a4e4aece03665d3 /src/event/quic/ngx_event_quic_connection.h
parentdcdf62549f25f030b6cf518b9adb3d2a84313ea5 (diff)
downloadnginx-64586eaa36f1dbc5e21e9007a372c6fb049a6986.tar.gz
nginx-64586eaa36f1dbc5e21e9007a372c6fb049a6986.tar.bz2
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.
Diffstat (limited to 'src/event/quic/ngx_event_quic_connection.h')
-rw-r--r--src/event/quic/ngx_event_quic_connection.h4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/event/quic/ngx_event_quic_connection.h b/src/event/quic/ngx_event_quic_connection.h
index 784378647..ef8c1dacc 100644
--- a/src/event/quic/ngx_event_quic_connection.h
+++ b/src/event/quic/ngx_event_quic_connection.h
@@ -115,8 +115,10 @@ typedef struct {
ngx_rbtree_t tree;
ngx_rbtree_node_t sentinel;
- uint64_t received;
uint64_t sent;
+ uint64_t recv_offset;
+ uint64_t recv_window;
+ uint64_t recv_last;
uint64_t recv_max_data;
uint64_t send_max_data;