comparison src/event/ngx_event_quic.h @ 7999:0d2b2664b41c quic

QUIC: added "quic" listen parameter. The parameter allows processing HTTP/0.9-2 over QUIC. Also, introduced ngx_http_quic_module and moved QUIC settings there
author Roman Arutyunyan <arut@nginx.com>
date Tue, 21 Jul 2020 23:09:22 +0300
parents f537f99b86ee
children 893b3313f53c
comparison
equal deleted inserted replaced
7998:f537f99b86ee 7999:0d2b2664b41c
76 ngx_uint_t active_connection_id_limit; 76 ngx_uint_t active_connection_id_limit;
77 ngx_str_t original_dcid; 77 ngx_str_t original_dcid;
78 ngx_str_t initial_scid; 78 ngx_str_t initial_scid;
79 ngx_str_t retry_scid; 79 ngx_str_t retry_scid;
80 80
81 ngx_flag_t retry;
82 u_char token_key[32]; /* AES 256 */
83
84 /* TODO */ 81 /* TODO */
85 u_char stateless_reset_token[16]; 82 u_char stateless_reset_token[16];
86 void *preferred_address; 83 void *preferred_address;
87 } ngx_quic_tp_t; 84 } ngx_quic_tp_t;
85
86
87 typedef struct {
88 ngx_quic_tp_t tp;
89 ngx_flag_t retry;
90 u_char token_key[32]; /* AES 256 */
91 } ngx_quic_conf_t;
88 92
89 93
90 typedef struct { 94 typedef struct {
91 uint64_t sent; 95 uint64_t sent;
92 uint64_t received; 96 uint64_t received;
105 ngx_buf_t *b; 109 ngx_buf_t *b;
106 ngx_quic_frames_stream_t fs; 110 ngx_quic_frames_stream_t fs;
107 }; 111 };
108 112
109 113
110 void ngx_quic_run(ngx_connection_t *c, ngx_ssl_t *ssl, ngx_quic_tp_t *tp, 114 void ngx_quic_run(ngx_connection_t *c, ngx_ssl_t *ssl, ngx_quic_conf_t *conf,
111 ngx_connection_handler_pt handler); 115 ngx_connection_handler_pt handler);
112 ngx_connection_t *ngx_quic_create_uni_stream(ngx_connection_t *c); 116 ngx_connection_t *ngx_quic_create_uni_stream(ngx_connection_t *c);
113 void ngx_quic_finalize_connection(ngx_connection_t *c, ngx_uint_t err, 117 void ngx_quic_finalize_connection(ngx_connection_t *c, ngx_uint_t err,
114 const char *reason); 118 const char *reason);
115 119