Mercurial > hg > nginx-quic
diff src/http/modules/proxy/ngx_http_event_proxy_handler.h @ 71:59229033ae93
nginx-0.0.1-2003-04-08-19:40:10 import
author | Igor Sysoev <igor@sysoev.ru> |
---|---|
date | Tue, 08 Apr 2003 15:40:10 +0000 |
parents | src/http/modules/ngx_http_event_proxy_handler.h@e43f406e4525 |
children | 66de3f065886 |
line wrap: on
line diff
copy from src/http/modules/ngx_http_event_proxy_handler.h copy to src/http/modules/proxy/ngx_http_event_proxy_handler.h --- a/src/http/modules/ngx_http_event_proxy_handler.h +++ b/src/http/modules/proxy/ngx_http_event_proxy_handler.h @@ -16,31 +16,57 @@ typedef struct { typedef struct { - int large_header; -} ngx_http_proxy_loc_conf_t; + u_int32_t addr; + ngx_str_t host; + int port; + ngx_str_t addr_port_name; + + int fails; + time_t accessed; +} ngx_http_proxy_upstream_t; typedef struct { - ngx_str_t host; - ngx_str_t uri; - ngx_str_t host_header; - ngx_str_t port_name; - int port; + int current; + int number; + int max_fails; + int fail_timeout; + + /* ngx_mutex_t mutex; */ + /* ngx_connection_t *cached; ??? */ + + ngx_http_proxy_upstream_t u[1]; +} ngx_http_proxy_upstreams_t; + + +typedef struct { + ngx_str_t host; + ngx_str_t uri; + ngx_str_t *location; + ngx_str_t host_header; + ngx_str_t port_name; + int port; } ngx_http_proxy_upstream_url_t; typedef struct { - struct sockaddr_in; - ngx_str_t name; - time_t access; - int fails; -} ngx_http_proxy_upstream_t; + ngx_http_proxy_upstreams_t *upstreams; + ngx_http_proxy_upstream_url_t *upstream_url; + int rcvbuf; + int conn_pool_size; + int connect_timeout; + int send_timeout; + int read_timeout; + int header_size; + int large_header; -typedef struct { - int amount; - ngx_http_proxy_upstream_t *upstreams; -} ngx_http_proxy_upstream_farm_t; + int block_size; + int max_block_size; + + int retry_500_error; + +} ngx_http_proxy_loc_conf_t; #if 0 @@ -62,26 +88,43 @@ struct ngx_http_proxy_ctx_s { int last_hunk; ngx_array_t hunks; + int hunks_number; int hunk_n; - ngx_connection_t *connection; - ngx_http_request_t *request; - ngx_http_proxy_headers_in_t *headers_in; + ngx_connection_t *connection; + ngx_http_request_t *request; + ngx_http_proxy_headers_in_t *headers_in; - ngx_http_proxy_upstream_farm_t *upstream; - int cur_upstream; - int upstreams; + ngx_http_proxy_upstream_url_t *upstream_url; + ngx_http_proxy_upstreams_t *upstreams; + int cur_upstream; + int tries; + + struct sockaddr *sockaddr; + + ngx_http_proxy_loc_conf_t *lcf; ngx_log_t *log; + int method; + ngx_hunk_t *header_in; + int status; + ngx_str_t status_line; + ngx_str_t full_status_line; + int state; - int status; int status_count; - char *status_line; - char *request_end; - int (*state_handler)(ngx_http_request_t *r, ngx_http_proxy_ctx_t *p); + char *status_start; + char *status_end; + int (*state_write_upstream_handler) (ngx_http_proxy_ctx_t *p); + int (*state_read_upstream_handler) (ngx_http_proxy_ctx_t *p); + int (*state_handler)(ngx_http_proxy_ctx_t *p); + + int last_error; + + unsigned cached_connection:1; };