comparison src/http/modules/ngx_http_memcached_module.c @ 7371:8b68d50090e4

Upstream: proxy_socket_keepalive and friends. The directives enable the use of the SO_KEEPALIVE option on upstream connections. By default, the value is left unchanged.
author Vladimir Homutov <vl@nginx.com>
date Wed, 03 Oct 2018 14:08:51 +0300
parents 45e513c3540d
children 7731c710796f
comparison
equal deleted inserted replaced
7370:aa1c9f846567 7371:8b68d50090e4
63 { ngx_string("memcached_bind"), 63 { ngx_string("memcached_bind"),
64 NGX_HTTP_MAIN_CONF|NGX_HTTP_SRV_CONF|NGX_HTTP_LOC_CONF|NGX_CONF_TAKE12, 64 NGX_HTTP_MAIN_CONF|NGX_HTTP_SRV_CONF|NGX_HTTP_LOC_CONF|NGX_CONF_TAKE12,
65 ngx_http_upstream_bind_set_slot, 65 ngx_http_upstream_bind_set_slot,
66 NGX_HTTP_LOC_CONF_OFFSET, 66 NGX_HTTP_LOC_CONF_OFFSET,
67 offsetof(ngx_http_memcached_loc_conf_t, upstream.local), 67 offsetof(ngx_http_memcached_loc_conf_t, upstream.local),
68 NULL },
69
70 { ngx_string("memcached_socket_keepalive"),
71 NGX_HTTP_MAIN_CONF|NGX_HTTP_SRV_CONF|NGX_HTTP_LOC_CONF|NGX_CONF_FLAG,
72 ngx_conf_set_flag_slot,
73 NGX_HTTP_LOC_CONF_OFFSET,
74 offsetof(ngx_http_memcached_loc_conf_t, upstream.socket_keepalive),
68 NULL }, 75 NULL },
69 76
70 { ngx_string("memcached_connect_timeout"), 77 { ngx_string("memcached_connect_timeout"),
71 NGX_HTTP_MAIN_CONF|NGX_HTTP_SRV_CONF|NGX_HTTP_LOC_CONF|NGX_CONF_TAKE1, 78 NGX_HTTP_MAIN_CONF|NGX_HTTP_SRV_CONF|NGX_HTTP_LOC_CONF|NGX_CONF_TAKE1,
72 ngx_conf_set_msec_slot, 79 ngx_conf_set_msec_slot,
593 * conf->upstream.next_upstream = 0; 600 * conf->upstream.next_upstream = 0;
594 * conf->upstream.temp_path = NULL; 601 * conf->upstream.temp_path = NULL;
595 */ 602 */
596 603
597 conf->upstream.local = NGX_CONF_UNSET_PTR; 604 conf->upstream.local = NGX_CONF_UNSET_PTR;
605 conf->upstream.socket_keepalive = NGX_CONF_UNSET;
598 conf->upstream.next_upstream_tries = NGX_CONF_UNSET_UINT; 606 conf->upstream.next_upstream_tries = NGX_CONF_UNSET_UINT;
599 conf->upstream.connect_timeout = NGX_CONF_UNSET_MSEC; 607 conf->upstream.connect_timeout = NGX_CONF_UNSET_MSEC;
600 conf->upstream.send_timeout = NGX_CONF_UNSET_MSEC; 608 conf->upstream.send_timeout = NGX_CONF_UNSET_MSEC;
601 conf->upstream.read_timeout = NGX_CONF_UNSET_MSEC; 609 conf->upstream.read_timeout = NGX_CONF_UNSET_MSEC;
602 conf->upstream.next_upstream_timeout = NGX_CONF_UNSET_MSEC; 610 conf->upstream.next_upstream_timeout = NGX_CONF_UNSET_MSEC;
632 ngx_http_memcached_loc_conf_t *conf = child; 640 ngx_http_memcached_loc_conf_t *conf = child;
633 641
634 ngx_conf_merge_ptr_value(conf->upstream.local, 642 ngx_conf_merge_ptr_value(conf->upstream.local,
635 prev->upstream.local, NULL); 643 prev->upstream.local, NULL);
636 644
645 ngx_conf_merge_value(conf->upstream.socket_keepalive,
646 prev->upstream.socket_keepalive, 0);
647
637 ngx_conf_merge_uint_value(conf->upstream.next_upstream_tries, 648 ngx_conf_merge_uint_value(conf->upstream.next_upstream_tries,
638 prev->upstream.next_upstream_tries, 0); 649 prev->upstream.next_upstream_tries, 0);
639 650
640 ngx_conf_merge_msec_value(conf->upstream.connect_timeout, 651 ngx_conf_merge_msec_value(conf->upstream.connect_timeout,
641 prev->upstream.connect_timeout, 60000); 652 prev->upstream.connect_timeout, 60000);