diff src/core/ngx_inet.h @ 260:0effe91f6083 NGINX_0_5_0

nginx 0.5.0 *) Change: the parameters in the "%name" form in the "log_format" directive are not supported anymore. *) Change: the "proxy_upstream_max_fails", "proxy_upstream_fail_timeout", "fastcgi_upstream_max_fails", "fastcgi_upstream_fail_timeout", "memcached_upstream_max_fails", and "memcached_upstream_fail_timeout" directives are not supported anymore. *) Feature: the "server" directive in the "upstream" context supports the "max_fails", "fail_timeout", and "down" parameters. *) Feature: the "ip_hash" directive inside the "upstream" block. *) Feature: the WAIT status in the "Auth-Status" header line of the IMAP/POP3 proxy authentication server response. *) Bugfix: nginx could not be built on 64-bit platforms; bug appeared in 0.4.14.
author Igor Sysoev <http://sysoev.ru>
date Mon, 04 Dec 2006 00:00:00 +0300
parents 644510700914
children 251bcd11a5b8
line wrap: on
line diff
--- a/src/core/ngx_inet.h
+++ b/src/core/ngx_inet.h
@@ -12,80 +12,51 @@
 #include <ngx_core.h>
 
 
-#define NGX_PARSE_URL_INET   1
-#define NGX_PARSE_URL_UNIX   2
-
-
 typedef struct {
-    in_addr_t           addr;
-    in_addr_t           mask;
+    in_addr_t         addr;
+    in_addr_t         mask;
 } ngx_inet_cidr_t;
 
 
-typedef struct {
-    struct sockaddr    *sockaddr;
-    socklen_t           socklen;
-
-    ngx_str_t           name;
-    char               *uri_separator;
-
-    ngx_uint_t          current_weight;
-    ngx_uint_t          weight;
-
-    ngx_uint_t          fails;
-    time_t              accessed;
-
-    ngx_uint_t          max_fails;
-    time_t              fail_timeout;
-
-#if (NGX_SSL)
-    ngx_ssl_session_t  *ssl_session;
-#endif
-} ngx_peer_t;
-
-
-struct ngx_peers_s {
-    ngx_uint_t          current;
-
-    ngx_uint_t          number;
-    ngx_uint_t          last_cached;
-
- /* ngx_mutex_t        *mutex; */
-    ngx_connection_t  **cached;
-
-    ngx_peer_t          peer[1];
-};
-
-
 typedef union {
-    in_addr_t           in_addr;
+    in_addr_t         in_addr;
 } ngx_url_addr_t;
 
 
 typedef struct {
-    ngx_int_t           type;
+    struct sockaddr  *sockaddr;
+    socklen_t         socklen;
+    ngx_str_t         name;
+} ngx_peer_addr_t;
 
-    ngx_peers_t        *peers;
 
-    ngx_str_t           url;
-    ngx_str_t           host;
-    ngx_str_t           host_header;
-    ngx_str_t           port;
-    ngx_str_t           uri;
+typedef struct {
+    ngx_int_t         type;
+
+    ngx_str_t         url;
+    ngx_str_t         host;
+    ngx_str_t         host_header;
+    ngx_str_t         port;
+    ngx_str_t         uri;
 
-    in_port_t           portn;
-    in_port_t           default_portn;
+    in_port_t         portn;
+    in_port_t         default_portn;
 
-    unsigned            listen:1;
-    unsigned            uri_part:1;
-    unsigned            upstream:1;
+    unsigned          listen:1;
+    unsigned          uri_part:1;
+    unsigned          upstream:1;
+    unsigned          no_resolve:1;
+    unsigned          one_addr:1;
 
-    unsigned            default_port:1;
-    unsigned            wildcard:1;
+    unsigned          wildcard:1;
+    unsigned          no_port:1;
+
+    ngx_url_addr_t    addr;
 
-    ngx_url_addr_t      addr;
+    ngx_peer_addr_t  *addrs;
+    ngx_uint_t        naddrs;
 
-    char               *err;
+    char             *err;
 } ngx_url_t;
 
 
@@ -93,8 +64,8 @@ size_t ngx_sock_ntop(int family, struct 
 size_t ngx_inet_ntop(int family, void *addr, u_char *text, size_t len);
 ngx_int_t ngx_ptocidr(ngx_str_t *text, void *cidr);
 ngx_int_t ngx_parse_url(ngx_conf_t *cf, ngx_url_t *u);
-ngx_peers_t *ngx_inet_resolve_peer(ngx_conf_t *cf, ngx_str_t *name,
-    in_port_t port);
+ngx_int_t ngx_inet_resolve_host(ngx_conf_t *cf, ngx_url_t *u);
+
 
 
 #endif /* _NGX_INET_H_INCLUDED_ */