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;
 };