QUIC: eliminated connection handler argument in ngx_quic_run().

Now c->listening->handler() is called instead.
This commit is contained in:
Roman Arutyunyan 2020-07-21 23:08:23 +03:00
parent 36f2873f6b
commit 3073ad1381
4 changed files with 8 additions and 14 deletions

View File

@ -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_conn_t *ssl_conn,
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_conn, enum ssl_encryption_level_t level,
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_ssl_t *ssl, ngx_quic_conf_t *conf,
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_ssl_t *ssl, ngx_quic_conf_t *conf,
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 *c, ngx_ssl_t *ssl,
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_connection_t *c, ngx_quic_header_t *pkt,
ngx_quic_handle_max_streams(c);
}
qc->streams.handler(sn->c);
sn->c->listening->handler(sn->c);
if (f->offset == 0) {
return NGX_OK;

View File

@ -112,8 +112,7 @@ struct ngx_quic_stream_s {
};
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);

View File

@ -336,7 +336,7 @@ ngx_http_init_connection(ngx_connection_t *c)
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;
}
}

View File

@ -129,7 +129,7 @@ ngx_stream_init_connection(ngx_connection_t *c)
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;
}
}