From 4f4f56f013eb0dbe5eb66bb2f22584aec26b13e6 Mon Sep 17 00:00:00 2001 From: Vladimir Homutov Date: Thu, 12 Mar 2020 16:54:43 +0300 Subject: HTTP/QUIC interface reworked. - events handling moved into src/event/ngx_event_quic.c - http invokes once ngx_quic_run() and passes stream callback (diff to original http_request.c is now minimal) - streams are stored in rbtree using ID as a key - when a new stream is registered, appropriate callback is called - ngx_quic_stream_t type represents STREAM and stored in c->qs --- src/core/ngx_connection.h | 1 + src/core/ngx_core.h | 1 + 2 files changed, 2 insertions(+) (limited to 'src/core') diff --git a/src/core/ngx_connection.h b/src/core/ngx_connection.h index 0d7e2166b..b3a36cf05 100644 --- a/src/core/ngx_connection.h +++ b/src/core/ngx_connection.h @@ -151,6 +151,7 @@ struct ngx_connection_s { #if (NGX_SSL || NGX_COMPAT) ngx_quic_connection_t *quic; + ngx_quic_stream_t *qs; ngx_ssl_connection_t *ssl; #endif diff --git a/src/core/ngx_core.h b/src/core/ngx_core.h index 549fae084..4594b54fd 100644 --- a/src/core/ngx_core.h +++ b/src/core/ngx_core.h @@ -28,6 +28,7 @@ typedef struct ngx_thread_task_s ngx_thread_task_t; typedef struct ngx_ssl_s ngx_ssl_t; typedef struct ngx_proxy_protocol_s ngx_proxy_protocol_t; typedef struct ngx_quic_connection_s ngx_quic_connection_t; +typedef struct ngx_quic_stream_s ngx_quic_stream_t; typedef struct ngx_ssl_connection_s ngx_ssl_connection_t; typedef struct ngx_udp_connection_s ngx_udp_connection_t; -- cgit