ps->ppinherit_set = 0;
ps->bgrowth = 5;
ps->bgrowth_set = 0;
- ps->wbgrowth = 0;
- ps->wbgrowth_set = 0;
ps->req_set = 0;
ps->recv_buffer_size = 0; /* this default was left unset for some reason */
ps->recv_buffer_size_set = 0;
ps->req_set = overrides->req_set || base->req_set;
ps->bgrowth = (overrides->bgrowth_set == 0) ? base->bgrowth : overrides->bgrowth;
ps->bgrowth_set = overrides->bgrowth_set || base->bgrowth_set;
- ps->wbgrowth = (overrides->wbgrowth_set == 0) ? base->wbgrowth : overrides->wbgrowth;
- ps->wbgrowth_set = overrides->wbgrowth_set || base->wbgrowth_set;
ps->max_balancers = overrides->max_balancers || base->max_balancers;
ps->bal_persist = overrides->bal_persist;
ps->recv_buffer_size = (overrides->recv_buffer_size_set == 0) ? base->recv_buffer_size : overrides->recv_buffer_size;
return NULL;
}
-static const char *set_wbgrowth(cmd_parms *parms, void *dummy, const char *arg)
-{
- proxy_server_conf *psf =
- ap_get_module_config(parms->server->module_config, &proxy_module);
-
- int growth = atoi(arg);
- if (growth < 0 || growth > 1000) {
- return "WorkerBalancerGrowth must be between 0 and 1000";
- }
- psf->wbgrowth = growth;
- psf->wbgrowth_set = 1;
-
- return NULL;
-}
-
static const char *set_persist(cmd_parms *parms, void *dummy, int flag)
{
proxy_server_conf *psf =
return apr_pstrcat(cmd->temp_pool, thiscmd->name, " ", err, " ",
word, "=", val, "; ", conf->p, NULL);
}
- } else {
- /* we have an empty <Proxy/> */
- if (!ap_strchr_c(conf->p, ':'))
- return apr_pstrcat(cmd->pool, thiscmd->name,
- "> arguments are not supported for non url.",
- NULL);
- if (ap_proxy_valid_balancer_name((char *)conf->p, 9)) {
- balancer = ap_proxy_get_balancer(cmd->pool, sconf, conf->p, 0);
- if (!balancer) {
- err = ap_proxy_define_balancer(cmd->pool, &balancer,
- sconf, conf->p, "/", 0);
- if (err)
- return apr_pstrcat(cmd->temp_pool, thiscmd->name,
- " ", err, NULL);
- }
- if (!balancer->section_config) {
- balancer->section_config = new_dir_conf;
- }
- /* Allow to add members dynamically */
- if (sconf->wbgrowth_set) {
- balancer->growth = sconf->wbgrowth;
- balancer->growth_set = 1;
- } else {
- return apr_pstrcat(cmd->temp_pool, thiscmd->name, "/> requires WorkerBalancerGrowth > 0.", NULL);
- }
- } else {
- return apr_pstrcat(cmd->pool, thiscmd->name, " " ,conf->p,
- "> only balancer://balancername is supported.", NULL);
- }
}
cmd->path = old_path;
"A balancer name and scheme with list of params"),
AP_INIT_TAKE1("BalancerGrowth", set_bgrowth, NULL, RSRC_CONF,
"Number of additional Balancers that can be added post-config"),
- AP_INIT_TAKE1("WorkerBalancerGrowth", set_wbgrowth, NULL, RSRC_CONF,
- "Number of additional Workers per Balancer that can be added post-config"),
AP_INIT_FLAG("BalancerPersist", set_persist, NULL, RSRC_CONF,
"on if the balancer should persist changes on reboot/restart made via the Balancer Manager"),
AP_INIT_FLAG("BalancerInherit", set_inherit, NULL, RSRC_CONF,