aboutsummaryrefslogtreecommitdiff
path: root/src/http/ngx_http_core_module.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/http/ngx_http_core_module.h')
-rw-r--r--src/http/ngx_http_core_module.h54
1 files changed, 31 insertions, 23 deletions
diff --git a/src/http/ngx_http_core_module.h b/src/http/ngx_http_core_module.h
index 0d8ae74c3..1652f3560 100644
--- a/src/http/ngx_http_core_module.h
+++ b/src/http/ngx_http_core_module.h
@@ -73,10 +73,8 @@ typedef struct {
ngx_hash0_t headers_in_hash;
ngx_hash0_t variables_hash;
- ngx_uint_t server_names_hash;
- ngx_uint_t server_names_hash_threshold;
-
- size_t max_server_name_len;
+ ngx_uint_t server_names_hash_max_size;
+ ngx_uint_t server_names_hash_bucket_size;
ngx_array_t variables; /* ngx_http_variable_t */
ngx_array_t all_variables; /* ngx_http_variable_t */
@@ -99,6 +97,8 @@ typedef struct {
/* server ctx */
ngx_http_conf_ctx_t *ctx;
+ ngx_str_t server_name;
+
size_t connection_pool_size;
size_t request_pool_size;
size_t client_header_buffer_size;
@@ -115,45 +115,53 @@ typedef struct {
/* list of structures to find core_srv_conf quickly at run time */
+
+typedef struct {
+ in_addr_t addr;
+ /* the default server configuration for this address:port */
+ ngx_http_core_srv_conf_t *core_srv_conf;
+ ngx_http_virtual_names_t *virtual_names;
+} ngx_http_in_addr_t;
+
+
typedef struct {
in_port_t port;
ngx_str_t port_text;
- ngx_array_t addrs; /* array of ngx_http_in_addr_t */
+ ngx_http_in_addr_t *addrs;
+ ngx_uint_t naddrs;
} ngx_http_in_port_t;
-struct ngx_http_in_addr_s {
+typedef struct {
+ in_port_t port;
+ ngx_array_t addrs; /* array of ngx_http_conf_in_addr_t */
+} ngx_http_conf_in_port_t;
+
+
+typedef struct {
in_addr_t addr;
- ngx_array_t names; /* array of ngx_http_server_name_t */
- ngx_array_t *hash; /* hash of ngx_http_server_name_t */
- ngx_array_t wildcards; /* array of ngx_http_server_name_t */
+ ngx_hash_t hash;
+ ngx_hash_wildcard_t *dns_wildcards;
+
+ ngx_array_t names; /* array of ngx_http_server_name_t */
/* the default server configuration for this address:port */
ngx_http_core_srv_conf_t *core_srv_conf;
- ngx_http_listen_conf_t conf;
-};
+ unsigned default_server:1;
+ unsigned bind:1;
+
+ ngx_http_listen_conf_t *listen_conf;
+} ngx_http_conf_in_addr_t;
typedef struct {
ngx_str_t name;
ngx_http_core_srv_conf_t *core_srv_conf; /* virtual name server conf */
-
- ngx_uint_t wildcard; /* unsigned wildcard:1 */
} ngx_http_server_name_t;
-#define ngx_http_server_names_hash_key(key, name, len, prime) \
- { \
- ngx_uint_t n0; \
- for (key = 0, n0 = 0; n0 < len; n0++) { \
- key += name[n0]; \
- } \
- key %= prime; \
- }
-
-
typedef struct {
ngx_int_t status;
ngx_int_t overwrite;