Groonga 3.0.9 Source Code Document
Main Page
Related Pages
Namespaces
Data Structures
Files
File List
Globals
All
Data Structures
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Macros
Pages
groonga
vendor
nginx-1.4.2
src
http
ngx_http_upstream_round_robin.h
Go to the documentation of this file.
1
2
/*
3
* Copyright (C) Igor Sysoev
4
* Copyright (C) Nginx, Inc.
5
*/
6
7
8
#ifndef _NGX_HTTP_UPSTREAM_ROUND_ROBIN_H_INCLUDED_
9
#define _NGX_HTTP_UPSTREAM_ROUND_ROBIN_H_INCLUDED_
10
11
12
#include <
ngx_config.h
>
13
#include <
ngx_core.h
>
14
#include <
ngx_http.h
>
15
16
17
typedef
struct
{
18
struct
sockaddr *
sockaddr
;
19
socklen_t
socklen
;
20
ngx_str_t
name
;
21
22
ngx_int_t
current_weight
;
23
ngx_int_t
effective_weight
;
24
ngx_int_t
weight
;
25
26
ngx_uint_t
fails
;
27
time_t
accessed
;
28
time_t
checked
;
29
30
ngx_uint_t
max_fails
;
31
time_t
fail_timeout
;
32
33
ngx_uint_t
down
;
/* unsigned down:1; */
34
35
#if (NGX_HTTP_SSL)
36
ngx_ssl_session_t
*ssl_session;
/* local to a process */
37
#endif
38
}
ngx_http_upstream_rr_peer_t
;
39
40
41
typedef
struct
ngx_http_upstream_rr_peers_s
ngx_http_upstream_rr_peers_t
;
42
43
struct
ngx_http_upstream_rr_peers_s
{
44
ngx_uint_t
number
;
45
46
/* ngx_mutex_t *mutex; */
47
48
ngx_uint_t
total_weight
;
49
50
unsigned
single
:1;
51
unsigned
weighted
:1;
52
53
ngx_str_t
*
name
;
54
55
ngx_http_upstream_rr_peers_t
*
next
;
56
57
ngx_http_upstream_rr_peer_t
peer
[1];
58
};
59
60
61
typedef
struct
{
62
ngx_http_upstream_rr_peers_t
*
peers
;
63
ngx_uint_t
current
;
64
uintptr_t *
tried
;
65
uintptr_t
data
;
66
}
ngx_http_upstream_rr_peer_data_t
;
67
68
69
ngx_int_t
ngx_http_upstream_init_round_robin
(
ngx_conf_t
*cf,
70
ngx_http_upstream_srv_conf_t
*us);
71
ngx_int_t
ngx_http_upstream_init_round_robin_peer
(
ngx_http_request_t
*r,
72
ngx_http_upstream_srv_conf_t
*us);
73
ngx_int_t
ngx_http_upstream_create_round_robin_peer
(
ngx_http_request_t
*r,
74
ngx_http_upstream_resolved_t
*ur);
75
ngx_int_t
ngx_http_upstream_get_round_robin_peer
(
ngx_peer_connection_t
*pc,
76
void
*data);
77
void
ngx_http_upstream_free_round_robin_peer
(
ngx_peer_connection_t
*pc,
78
void
*data,
ngx_uint_t
state);
79
80
#if (NGX_HTTP_SSL)
81
ngx_int_t
82
ngx_http_upstream_set_round_robin_peer_session(
ngx_peer_connection_t
*pc,
83
void
*data);
84
void
ngx_http_upstream_save_round_robin_peer_session(
ngx_peer_connection_t
*pc,
85
void
*data);
86
#endif
87
88
89
#endif
/* _NGX_HTTP_UPSTREAM_ROUND_ROBIN_H_INCLUDED_ */
Generated on Sun Nov 10 2013 09:49:08 for Groonga 3.0.9 Source Code Document by
1.8.1.2