comparison src/http/v3/ngx_http_v3.h @ 8679:e1eb7f4ca9f1 quic

HTTP/3: refactored request parser. The change reduces diff to the default branch for src/http/ngx_http_request.c and src/http/ngx_http_parse.c.
author Roman Arutyunyan <arut@nginx.com>
date Fri, 22 Jan 2021 16:34:06 +0300
parents 1efee5e4194c
children cb8185bd0507
comparison
equal deleted inserted replaced
8678:3443ee341cc1 8679:e1eb7f4ca9f1
125 ngx_queue_t pushing; 125 ngx_queue_t pushing;
126 ngx_uint_t npushing; 126 ngx_uint_t npushing;
127 uint64_t next_push_id; 127 uint64_t next_push_id;
128 uint64_t max_push_id; 128 uint64_t max_push_id;
129 129
130 ngx_uint_t settings_sent;
131 /* unsigned settings_sent:1; */
132 ngx_connection_t *known_streams[NGX_HTTP_V3_MAX_KNOWN_STREAM]; 130 ngx_connection_t *known_streams[NGX_HTTP_V3_MAX_KNOWN_STREAM];
133 } ngx_http_v3_connection_t; 131 } ngx_http_v3_connection_t;
134 132
135 133
136 ngx_int_t ngx_http_v3_init_connection(ngx_connection_t *c); 134 void ngx_http_v3_init(ngx_connection_t *c);
137
138 ngx_int_t ngx_http_v3_parse_request(ngx_http_request_t *r, ngx_buf_t *b);
139 ngx_int_t ngx_http_v3_parse_header(ngx_http_request_t *r, ngx_buf_t *b,
140 ngx_uint_t allow_underscores);
141 ngx_int_t ngx_http_v3_parse_request_body(ngx_http_request_t *r, ngx_buf_t *b, 135 ngx_int_t ngx_http_v3_parse_request_body(ngx_http_request_t *r, ngx_buf_t *b,
142 ngx_http_chunked_t *ctx); 136 ngx_http_chunked_t *ctx);
143 137
144 uintptr_t ngx_http_v3_encode_varlen_int(u_char *p, uint64_t value); 138 uintptr_t ngx_http_v3_encode_varlen_int(u_char *p, uint64_t value);
145 uintptr_t ngx_http_v3_encode_prefix_int(u_char *p, uint64_t value, 139 uintptr_t ngx_http_v3_encode_prefix_int(u_char *p, uint64_t value,
155 ngx_str_t *value); 149 ngx_str_t *value);
156 uintptr_t ngx_http_v3_encode_header_pbi(u_char *p, ngx_uint_t index); 150 uintptr_t ngx_http_v3_encode_header_pbi(u_char *p, ngx_uint_t index);
157 uintptr_t ngx_http_v3_encode_header_lpbi(u_char *p, ngx_uint_t index, 151 uintptr_t ngx_http_v3_encode_header_lpbi(u_char *p, ngx_uint_t index,
158 u_char *data, size_t len); 152 u_char *data, size_t len);
159 153
154 ngx_int_t ngx_http_v3_init_session(ngx_connection_t *c);
155 void ngx_http_v3_init_uni_stream(ngx_connection_t *c);
160 ngx_connection_t *ngx_http_v3_create_push_stream(ngx_connection_t *c, 156 ngx_connection_t *ngx_http_v3_create_push_stream(ngx_connection_t *c,
161 uint64_t push_id); 157 uint64_t push_id);
162 ngx_int_t ngx_http_v3_ref_insert(ngx_connection_t *c, ngx_uint_t dynamic, 158 ngx_int_t ngx_http_v3_ref_insert(ngx_connection_t *c, ngx_uint_t dynamic,
163 ngx_uint_t index, ngx_str_t *value); 159 ngx_uint_t index, ngx_str_t *value);
164 ngx_int_t ngx_http_v3_insert(ngx_connection_t *c, ngx_str_t *name, 160 ngx_int_t ngx_http_v3_insert(ngx_connection_t *c, ngx_str_t *name,