44 if (server[i].backup) {
54 "no servers in upstream \"%V\" in %s:%ui",
74 for (j = 0; j < server[
i].
naddrs; j++) {
75 if (server[i].backup) {
100 if (!server[i].backup) {
114 if (backup == NULL) {
128 for (j = 0; j < server[
i].
naddrs; j++) {
129 if (!server[i].backup) {
135 backup->peer[n].name = server[
i].
addrs[j].
name;
136 backup->peer[n].weight = server[
i].
weight;
137 backup->peer[n].effective_weight = server[
i].
weight;
138 backup->peer[n].current_weight = 0;
139 backup->peer[n].max_fails = server[
i].
max_fails;
141 backup->peer[n].down = server[
i].
down;
146 peers->
next = backup;
156 "no port in upstream \"%V\" in %s:%ui",
169 "%s in upstream \"%V\" in %s:%ui",
190 for (i = 0; i < u.
naddrs; i++) {
236 if (n <= 8 *
sizeof(uintptr_t)) {
241 n = (n + (8 *
sizeof(uintptr_t) - 1)) / (8 *
sizeof(uintptr_t));
244 if (rrp->
tried == NULL) {
254 ngx_http_upstream_set_round_robin_peer_session;
256 ngx_http_upstream_save_round_robin_peer_session;
270 struct sockaddr_in *sin;
307 for (i = 0; i < ur->
naddrs; i++) {
324 sin->sin_family = AF_INET;
325 sin->sin_port = htons(ur->
port);
326 sin->sin_addr.s_addr = ur->
addrs[
i];
348 n = (rrp->
peers->
number + (8 *
sizeof(uintptr_t) - 1))
349 / (8 *
sizeof(uintptr_t));
352 if (rrp->
tried == NULL) {
361 r->
upstream->
peer.set_session = ngx_http_upstream_empty_set_session;
362 r->
upstream->
peer.save_session = ngx_http_upstream_empty_save_session;
380 "get rr peer, try: %ui", pc->
tries);
398 peer = ngx_http_upstream_get_peer(rrp);
405 "get rr peer, current: %ui %i",
434 n = (rrp->
peers->
number + (8 *
sizeof(uintptr_t) - 1))
435 / (8 *
sizeof(uintptr_t));
437 for (i = 0; i < n; i++) {
452 for (i = 0; i < peers->
number; i++) {
480 n = i / (8 *
sizeof(uintptr_t));
481 m = (uintptr_t) 1 << i % (8 *
sizeof(uintptr_t));
483 if (rrp->
tried[n] & m) {
520 n = i / (8 *
sizeof(uintptr_t));
521 m = (uintptr_t) 1 << i % (8 *
sizeof(uintptr_t));
545 "free rr peer %ui %ui", pc->
tries, state);
570 "free rr peer failed: %ui %i",
613 ssl_session = peer->ssl_session;
618 "set session: %p:%d",
619 ssl_session, ssl_session ? ssl_session->references : 0);
638 if (ssl_session == NULL) {
643 "save session: %p:%d", ssl_session, ssl_session->references);
650 old_ssl_session = peer->ssl_session;
651 peer->ssl_session = ssl_session;
655 if (old_ssl_session) {
658 "old session: %p:%d",
659 old_ssl_session, old_ssl_session->references);