in native/common/jk_status.c [2765:2886]
static void form_worker(jk_ws_service_t *s,
status_endpoint_t *p,
jk_worker_t *jw,
jk_log_context_t *l)
{
const char *name = NULL;
lb_worker_t *lb = NULL;
status_worker_t *w = p->worker;
JK_TRACE_ENTER(l);
if (jw->type == JK_LB_WORKER_TYPE) {
lb = (lb_worker_t *)jw->worker_private;
name = lb->name;
if (JK_IS_DEBUG_LEVEL(l))
jk_log(l, JK_LOG_DEBUG,
"Status worker '%s' producing edit form for lb worker '%s'",
w->name, name);
}
else {
jk_log(l, JK_LOG_WARNING,
"Status worker '%s' worker type not implemented",
w->name);
JK_TRACE_EXIT(l);
return;
}
if (!lb) {
jk_log(l, JK_LOG_WARNING,
"Status worker '%s' lb structure is (null)",
w->name);
JK_TRACE_EXIT(l);
return;
}
jk_putv(s, "<hr/><h3>Edit load balancer settings for ",
name, "</h3>\n", NULL);
status_start_form(s, p, "get", JK_STATUS_CMD_UPDATE, NULL, l);
jk_putv(s, "<table>\n<tr><td>", JK_STATUS_ARG_LB_TEXT_RETRIES,
":</td><td><input name=\"",
JK_STATUS_ARG_LB_RETRIES, "\" type=\"text\" ", NULL);
jk_printf(s, l, "value=\"%d\"/></td></tr>\n", lb->retries);
jk_putv(s, "<tr><td>", JK_STATUS_ARG_LB_TEXT_RETRY_INT,
":</td><td><input name=\"",
JK_STATUS_ARG_LB_RETRY_INT, "\" type=\"text\" ", NULL);
jk_printf(s, l, "value=\"%d\"/></td></tr>\n", lb->retry_interval);
jk_putv(s, "<tr><td>", JK_STATUS_ARG_LB_TEXT_RECOVER_TIME,
":</td><td><input name=\"",
JK_STATUS_ARG_LB_RECOVER_TIME, "\" type=\"text\" ", NULL);
jk_printf(s, l, "value=\"%d\"/></td></tr>\n", lb->recover_wait_time);
jk_putv(s, "<tr><td>", JK_STATUS_ARG_LB_TEXT_ERROR_ESCALATION_TIME,
":</td><td><input name=\"",
JK_STATUS_ARG_LB_ERROR_ESCALATION_TIME, "\" type=\"text\" ", NULL);
jk_printf(s, l, "value=\"%d\"/></td></tr>\n", lb->error_escalation_time);
jk_putv(s, "<tr><td>", JK_STATUS_ARG_LB_TEXT_MAX_REPLY_TIMEOUTS,
":</td><td><input name=\"",
JK_STATUS_ARG_LB_MAX_REPLY_TIMEOUTS, "\" type=\"text\" ", NULL);
jk_printf(s, l, "value=\"%d\"/></td></tr>\n", lb->max_reply_timeouts);
jk_putv(s, "<tr><td>", JK_STATUS_ARG_LB_TEXT_STICKY,
":</td><td><input name=\"",
JK_STATUS_ARG_LB_STICKY, "\" type=\"checkbox\"", NULL);
if (lb->sticky_session)
jk_puts(s, " checked=\"checked\"");
jk_puts(s, "/></td></tr>\n");
jk_putv(s, "<tr><td>", JK_STATUS_ARG_LB_TEXT_STICKY_FORCE,
":</td><td><input name=\"",
JK_STATUS_ARG_LB_STICKY_FORCE, "\" type=\"checkbox\"", NULL);
if (lb->sticky_session_force)
jk_puts(s, " checked=\"checked\"");
jk_puts(s, "/></td></tr>\n");
jk_putv(s, "<tr><td>", JK_STATUS_ARG_LB_TEXT_METHOD,
":</td><td></td></tr>\n", NULL);
jk_putv(s, "<tr><td> Requests</td><td><input name=\"",
JK_STATUS_ARG_LB_METHOD, "\" type=\"radio\"", NULL);
jk_printf(s, l, " value=\"%d\"", JK_LB_METHOD_REQUESTS);
if (lb->lbmethod == JK_LB_METHOD_REQUESTS)
jk_puts(s, " checked=\"checked\"");
jk_puts(s, "/></td></tr>\n");
jk_putv(s, "<tr><td> Traffic</td><td><input name=\"",
JK_STATUS_ARG_LB_METHOD, "\" type=\"radio\"", NULL);
jk_printf(s, l, " value=\"%d\"", JK_LB_METHOD_TRAFFIC);
if (lb->lbmethod == JK_LB_METHOD_TRAFFIC)
jk_puts(s, " checked=\"checked\"");
jk_puts(s, "/></td></tr>\n");
jk_putv(s, "<tr><td> Busyness</td><td><input name=\"",
JK_STATUS_ARG_LB_METHOD, "\" type=\"radio\"", NULL);
jk_printf(s, l, " value=\"%d\"", JK_LB_METHOD_BUSYNESS);
if (lb->lbmethod == JK_LB_METHOD_BUSYNESS)
jk_puts(s, " checked=\"checked\"");
jk_puts(s, "/></td></tr>\n");
jk_putv(s, "<tr><td> Sessions</td><td><input name=\"",
JK_STATUS_ARG_LB_METHOD, "\" type=\"radio\"", NULL);
jk_printf(s, l, " value=\"%d\"", JK_LB_METHOD_SESSIONS);
if (lb->lbmethod == JK_LB_METHOD_SESSIONS)
jk_puts(s, " checked=\"checked\"");
jk_puts(s, "/></td></tr>\n");
jk_putv(s, "<tr><td> Next</td><td><input name=\"",
JK_STATUS_ARG_LB_METHOD, "\" type=\"radio\"", NULL);
jk_printf(s, l, " value=\"%d\"", JK_LB_METHOD_NEXT);
if (lb->lbmethod == JK_LB_METHOD_NEXT)
jk_puts(s, " checked=\"checked\"");
jk_puts(s, "/></td></tr>\n");
jk_putv(s, "<tr><td>", JK_STATUS_ARG_LB_TEXT_LOCK,
":</td><td></td></tr>\n", NULL);
jk_putv(s, "<tr><td> Optimistic</td><td><input name=\"",
JK_STATUS_ARG_LB_LOCK, "\" type=\"radio\"", NULL);
jk_printf(s, l, " value=\"%d\"", JK_LB_LOCK_OPTIMISTIC);
if (lb->lblock == JK_LB_LOCK_OPTIMISTIC)
jk_puts(s, " checked=\"checked\"");
jk_puts(s, "/></td></tr>\n");
jk_putv(s, "<tr><td> Pessimistic</td><td><input name=\"",
JK_STATUS_ARG_LB_LOCK, "\" type=\"radio\"", NULL);
jk_printf(s, l, " value=\"%d\"", JK_LB_LOCK_PESSIMISTIC);
if (lb->lblock == JK_LB_LOCK_PESSIMISTIC)
jk_puts(s, " checked=\"checked\"");
jk_puts(s, "/></td></tr>\n");
jk_puts(s, "</table>\n");
jk_puts(s, "<br/><input type=\"submit\" value=\"Update Balancer\"/></form>\n");
JK_TRACE_EXIT(l);
}