changeset 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 d41a0cafacff
files src/event/ngx_event_quic.c src/event/ngx_event_quic.h src/http/ngx_http_request.c src/stream/ngx_stream_handler.c
diffstat 4 files changed, 8 insertions(+), 14 deletions(-) [+]
line wrap: on
line diff
--- a/src/event/ngx_event_quic.c	Tue Jul 21 23:08:39 2020 +0300
+++ b/src/event/ngx_event_quic.c	Tue Jul 21 23:08:23 2020 +0300
@@ -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 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 @@
 
 
 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 @@
     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 @@
 
 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 @@
     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_max_streams(c);
         }
 
-        qc->streams.handler(sn->c);
+        sn->c->listening->handler(sn->c);
 
         if (f->offset == 0) {
             return NGX_OK;
--- a/src/event/ngx_event_quic.h	Tue Jul 21 23:08:39 2020 +0300
+++ b/src/event/ngx_event_quic.h	Tue Jul 21 23:08:23 2020 +0300
@@ -112,8 +112,7 @@
 };
 
 
-void ngx_quic_run(ngx_connection_t *c, ngx_ssl_t *ssl, ngx_quic_conf_t *conf,
-    ngx_connection_handler_pt handler);
+void ngx_quic_run(ngx_connection_t *c, ngx_ssl_t *ssl, ngx_quic_conf_t *conf);
 ngx_connection_t *ngx_quic_create_uni_stream(ngx_connection_t *c);
 void ngx_quic_finalize_connection(ngx_connection_t *c, ngx_uint_t err,
     const char *reason);
--- a/src/http/ngx_http_request.c	Tue Jul 21 23:08:39 2020 +0300
+++ b/src/http/ngx_http_request.c	Tue Jul 21 23:08:23 2020 +0300
@@ -336,7 +336,7 @@
             sscf = ngx_http_get_module_srv_conf(hc->conf_ctx,
                                                 ngx_http_ssl_module);
 
-            ngx_quic_run(c, &sscf->ssl, qcf, ngx_http_init_connection);
+            ngx_quic_run(c, &sscf->ssl, qcf);
             return;
         }
     }
--- a/src/stream/ngx_stream_handler.c	Tue Jul 21 23:08:39 2020 +0300
+++ b/src/stream/ngx_stream_handler.c	Tue Jul 21 23:08:23 2020 +0300
@@ -129,7 +129,7 @@
             scf = ngx_stream_get_module_srv_conf(addr_conf->ctx,
                                                  ngx_stream_ssl_module);
 
-            ngx_quic_run(c, &scf->ssl, qcf, ngx_stream_init_connection);
+            ngx_quic_run(c, &scf->ssl, qcf);
             return;
         }
     }