diff src/event/ngx_event_quic.c @ 8483:2da9c4fddd44 quic

QUIC: eliminated connection handler argument in ngx_quic_run(). Now c->listening->handler() is called instead.
author Roman Arutyunyan <arut@nginx.com>
date Tue, 21 Jul 2020 23:08:23 +0300
parents 893b3313f53c
children d0ac4449a07f
line wrap: on
line diff
--- a/src/event/ngx_event_quic.c
+++ b/src/event/ngx_event_quic.c
@@ -36,7 +36,6 @@
 typedef struct {
     ngx_rbtree_t                      tree;
     ngx_rbtree_node_t                 sentinel;
-    ngx_connection_handler_pt         handler;
 
     ngx_uint_t                        id_counter;
 
@@ -162,8 +161,7 @@ static int ngx_quic_send_alert(ngx_ssl_c
 
 
 static ngx_int_t ngx_quic_new_connection(ngx_connection_t *c, ngx_ssl_t *ssl,
-    ngx_quic_conf_t *conf, ngx_quic_header_t *pkt,
-    ngx_connection_handler_pt handler);
+    ngx_quic_conf_t *conf, ngx_quic_header_t *pkt);
 static ngx_int_t ngx_quic_new_dcid(ngx_connection_t *c, ngx_str_t *odcid);
 static ngx_int_t ngx_quic_retry(ngx_connection_t *c);
 static ngx_int_t ngx_quic_new_token(ngx_connection_t *c, ngx_str_t *token);
@@ -587,8 +585,7 @@ ngx_quic_send_alert(ngx_ssl_conn_t *ssl_
 
 
 void
-ngx_quic_run(ngx_connection_t *c, ngx_ssl_t *ssl, ngx_quic_conf_t *conf,
-    ngx_connection_handler_pt handler)
+ngx_quic_run(ngx_connection_t *c, ngx_ssl_t *ssl, ngx_quic_conf_t *conf)
 {
     ngx_buf_t          *b;
     ngx_quic_header_t   pkt;
@@ -606,7 +603,7 @@ ngx_quic_run(ngx_connection_t *c, ngx_ss
     pkt.data = b->start;
     pkt.len = b->last - b->start;
 
-    if (ngx_quic_new_connection(c, ssl, conf, &pkt, handler) != NGX_OK) {
+    if (ngx_quic_new_connection(c, ssl, conf, &pkt) != NGX_OK) {
         ngx_quic_close_connection(c, NGX_ERROR);
         return;
     }
@@ -622,8 +619,7 @@ ngx_quic_run(ngx_connection_t *c, ngx_ss
 
 static ngx_int_t
 ngx_quic_new_connection(ngx_connection_t *c, ngx_ssl_t *ssl,
-    ngx_quic_conf_t *conf, ngx_quic_header_t *pkt,
-    ngx_connection_handler_pt handler)
+    ngx_quic_conf_t *conf, ngx_quic_header_t *pkt)
 {
     ngx_int_t               rc;
     ngx_uint_t              i;
@@ -708,7 +704,6 @@ ngx_quic_new_connection(ngx_connection_t
     qc->ssl = ssl;
     qc->conf = conf;
     qc->tp = conf->tp;
-    qc->streams.handler = handler;
 
     ctp = &qc->ctp;
     ctp->max_udp_payload_size = ngx_quic_max_udp_payload(c);
@@ -2949,7 +2944,7 @@ ngx_quic_handle_stream_frame(ngx_connect
             ngx_quic_handle_max_streams(c);
         }
 
-        qc->streams.handler(sn->c);
+        sn->c->listening->handler(sn->c);
 
         if (f->offset == 0) {
             return NGX_OK;