Mercurial > hg > nginx-mail
annotate src/event/ngx_event_connect.h @ 28:7ca9bdc82b3f NGINX_0_1_14
nginx 0.1.14
*) Feature: the autoconfiguration directives:
--http-client-body-temp-path=PATH, --http-proxy-temp-path=PATH, and
--http-fastcgi-temp-path=PATH
*) Change: the directory name for the temporary files with the client
request body is specified by directive client_body_temp_path, by
default it is <prefix>/client_body_temp.
*) Feature: the ngx_http_fastcgi_module and the directives:
fastcgi_pass, fastcgi_root, fastcgi_index, fastcgi_params,
fastcgi_connect_timeout, fastcgi_send_timeout, fastcgi_read_timeout,
fastcgi_send_lowat, fastcgi_header_buffer_size, fastcgi_buffers,
fastcgi_busy_buffers_size, fastcgi_temp_path,
fastcgi_max_temp_file_size, fastcgi_temp_file_write_size,
fastcgi_next_upstream, and fastcgi_x_powered_by.
*) Bugfix: the "[alert] zero size buf" error; bug appeared in 0.1.3.
*) Change: the URI must be specified after the host name in the
proxy_pass directive.
*) Change: the %3F symbol in the URI was considered as the argument
string start.
*) Feature: the unix domain sockets support in the
ngx_http_proxy_module.
*) Feature: the ssl_engine and ssl_ciphers directives.
Thanks to Sergey Skvortsov for SSL-accelerator.
author | Igor Sysoev <http://sysoev.ru> |
---|---|
date | Tue, 18 Jan 2005 00:00:00 +0300 |
parents | 46833bd150cb |
children | a39d1b793287 |
rev | line source |
---|---|
0 | 1 |
2 /* | |
3 * Copyright (C) Igor Sysoev | |
4 */ | |
5 | |
6 | |
7 #ifndef _NGX_EVENT_CONNECT_H_INCLUDED_ | |
8 #define _NGX_EVENT_CONNECT_H_INCLUDED_ | |
9 | |
10 | |
11 #include <ngx_config.h> | |
12 #include <ngx_core.h> | |
13 #include <ngx_event.h> | |
14 | |
15 | |
16 #define NGX_CONNECT_ERROR -10 | |
17 | |
18 | |
19 typedef struct { | |
28 | 20 struct sockaddr *sockaddr; |
21 socklen_t socklen; | |
22 | |
23 ngx_str_t name; | |
24 char *uri_separator; | |
0 | 25 |
28 | 26 ngx_uint_t weight; |
27 | |
28 ngx_uint_t fails; | |
29 time_t accessed; | |
30 | |
31 ngx_uint_t max_fails; | |
32 time_t fail_timeout; | |
0 | 33 } ngx_peer_t; |
34 | |
35 | |
28 | 36 struct ngx_peers_s { |
37 ngx_uint_t current; | |
38 ngx_uint_t weight; | |
39 | |
40 ngx_uint_t number; | |
41 ngx_uint_t last_cached; | |
0 | 42 |
43 /* ngx_mutex_t *mutex; */ | |
44 ngx_connection_t **cached; | |
45 | |
28 | 46 ngx_peer_t peer[1]; |
47 }; | |
0 | 48 |
49 | |
50 typedef struct { | |
51 ngx_peers_t *peers; | |
28 | 52 ngx_uint_t cur_peer; |
53 ngx_uint_t tries; | |
0 | 54 |
55 ngx_connection_t *connection; | |
56 #if (NGX_THREADS) | |
57 ngx_atomic_t *lock; | |
58 #endif | |
59 | |
60 int rcvbuf; | |
61 | |
62 ngx_log_t *log; | |
63 | |
64 unsigned cached:1; | |
65 unsigned log_error:2; /* ngx_connection_log_error_e */ | |
66 } ngx_peer_connection_t; | |
67 | |
68 | |
10 | 69 ngx_int_t ngx_event_connect_peer(ngx_peer_connection_t *pc); |
0 | 70 void ngx_event_connect_peer_failed(ngx_peer_connection_t *pc); |
71 | |
72 | |
73 #endif /* _NGX_EVENT_CONNECT_H_INCLUDED_ */ |