diff src/event/quic/ngx_event_quic.c @ 8909:d041b8d6ab0b quic

QUIC: handle DATA_BLOCKED frame from client. Previously the frame was not handled and connection was closed with an error. Now, after receiving this frame, global flow control is updated and new flow control credit is sent to client.
author Roman Arutyunyan <arut@nginx.com>
date Wed, 17 Nov 2021 23:07:51 +0300
parents 6204120cf37f
children 50d73bf20e73
line wrap: on
line diff
--- a/src/event/quic/ngx_event_quic.c
+++ b/src/event/quic/ngx_event_quic.c
@@ -1252,6 +1252,17 @@ ngx_quic_handle_frames(ngx_connection_t 
 
             break;
 
+        case NGX_QUIC_FT_DATA_BLOCKED:
+
+            if (ngx_quic_handle_data_blocked_frame(c, pkt,
+                                                   &frame.u.data_blocked)
+                != NGX_OK)
+            {
+                return NGX_ERROR;
+            }
+
+            break;
+
         case NGX_QUIC_FT_STREAM_DATA_BLOCKED:
 
             if (ngx_quic_handle_stream_data_blocked_frame(c, pkt,