comparison src/http/ngx_http_core_module.h @ 1235:f8a40ccafb04

optimize regex location search
author Igor Sysoev <igor@sysoev.ru>
date Tue, 05 Jun 2007 06:44:08 +0000
parents d75676dfa1b0
children 5e4d3b5d7ad0
comparison
equal deleted inserted replaced
1234:6be3d9073266 1235:f8a40ccafb04
115 * array of the ngx_http_core_loc_conf_t *, 115 * array of the ngx_http_core_loc_conf_t *,
116 * used in the ngx_http_core_find_location() and in the merge phase 116 * used in the ngx_http_core_find_location() and in the merge phase
117 */ 117 */
118 ngx_array_t locations; 118 ngx_array_t locations;
119 119
120 unsigned regex_start:16;
121 unsigned wildcard:1;
122
120 /* array of the ngx_http_listen_t, "listen" directive */ 123 /* array of the ngx_http_listen_t, "listen" directive */
121 ngx_array_t listen; 124 ngx_array_t listen;
122 125
123 /* array of the ngx_http_server_name_t, "server_name" directive */ 126 /* array of the ngx_http_server_name_t, "server_name" directive */
124 ngx_array_t server_names; 127 ngx_array_t server_names;
136 139
137 ngx_msec_t client_header_timeout; 140 ngx_msec_t client_header_timeout;
138 141
139 ngx_flag_t optimize_server_names; 142 ngx_flag_t optimize_server_names;
140 ngx_flag_t ignore_invalid_headers; 143 ngx_flag_t ignore_invalid_headers;
141
142 ngx_uint_t wildcard; /* unsigned wildcard:1 */
143 } ngx_http_core_srv_conf_t; 144 } ngx_http_core_srv_conf_t;
144 145
145 146
146 /* list of structures to find core_srv_conf quickly at run time */ 147 /* list of structures to find core_srv_conf quickly at run time */
147 148
207 ngx_str_t name; /* location name */ 208 ngx_str_t name; /* location name */
208 209
209 #if (NGX_PCRE) 210 #if (NGX_PCRE)
210 ngx_regex_t *regex; 211 ngx_regex_t *regex;
211 #endif 212 #endif
213
214 unsigned regex_start:16;
212 215
213 unsigned noname:1; /* "if () {}" block */ 216 unsigned noname:1; /* "if () {}" block */
214 217
215 unsigned exact_match:1; 218 unsigned exact_match:1;
216 unsigned noregex:1; 219 unsigned noregex:1;