nginx/src/event/ngx_event_connect.h
Igor Sysoev aa8286101a nginx-0.1.18-RELEASE import
*) Workaround: the default values of the devpoll_events and the
       devpoll_changes directives changed from 512 to 32 to be compatible
       with Solaris 10.

    *) Bugfix: the proxy_set_x_var and fastcgi_set_var directives were not
       inherited.

    *) Bugfix: in the redirect rewrite directive the arguments were
       concatenated with URI by the "&" rather than the "?".

    *) Bugfix: the lines without trailing ";" in the file being included by
       the ngx_http_geo_module were silently ignored.

    *) Feature: the ngx_http_stub_status_module.

    *) Bugfix: the unknown log format in the access_log directive caused
       the segmentation fault.

    *) Feature: the new "document_root" parameter of the fastcgi_params
       directive.

    *) Feature: the fastcgi_redirect_errors directive.

    *) Feature: the new "break" modifier of the "rewrite" directive allows
       to stop the rewrite/location cycle and sets the current
       configuration to the request.
2005-02-09 14:31:07 +00:00

74 lines
1.4 KiB
C

/*
* Copyright (C) Igor Sysoev
*/
#ifndef _NGX_EVENT_CONNECT_H_INCLUDED_
#define _NGX_EVENT_CONNECT_H_INCLUDED_
#include <ngx_config.h>
#include <ngx_core.h>
#include <ngx_event.h>
#define NGX_CONNECT_ERROR -10
typedef struct {
struct sockaddr *sockaddr;
socklen_t socklen;
ngx_str_t name;
char *uri_separator;
ngx_uint_t weight;
ngx_uint_t fails;
time_t accessed;
ngx_uint_t max_fails;
time_t fail_timeout;
} ngx_peer_t;
struct ngx_peers_s {
ngx_uint_t current;
ngx_uint_t weight;
ngx_uint_t number;
ngx_uint_t last_cached;
/* ngx_mutex_t *mutex; */
ngx_connection_t **cached;
ngx_peer_t peer[1];
};
typedef struct {
ngx_peers_t *peers;
ngx_uint_t cur_peer;
ngx_uint_t tries;
ngx_connection_t *connection;
#if (NGX_THREADS)
ngx_atomic_t *lock;
#endif
int rcvbuf;
ngx_log_t *log;
unsigned cached:1;
unsigned log_error:2; /* ngx_connection_log_error_e */
} ngx_peer_connection_t;
ngx_int_t ngx_event_connect_peer(ngx_peer_connection_t *pc);
void ngx_event_connect_peer_failed(ngx_peer_connection_t *pc);
#endif /* _NGX_EVENT_CONNECT_H_INCLUDED_ */