struct peers {
- int state; /* proxy state */
char *id; /* peer section name */
struct task *sync_task; /* main sync task */
struct sig_handler *sighandler; /* signal handler */
unsigned int flags; /* current peers section resync state */
unsigned int resync_timeout; /* resync timeout timer */
int count; /* total of peers */
+ int disabled; /* peers proxy disabled if >0 */
};
/* LRU cache for dictionaies */
curpeers->conf.line = linenum;
curpeers->last_change = now.tv_sec;
curpeers->id = strdup(args[1]);
- curpeers->state = PR_STNEW;
+ curpeers->disabled = 0;
}
else if (strcmp(args[0], "peer") == 0 ||
strcmp(args[0], "server") == 0) { /* peer or server definition */
stktables_list = t;
}
else if (!strcmp(args[0], "disabled")) { /* disables this peers section */
- curpeers->state = PR_STSTOPPED;
+ curpeers->disabled = 1;
}
else if (!strcmp(args[0], "enabled")) { /* enables this peers section (used to revert a disabled default) */
- curpeers->state = PR_STNEW;
+ curpeers->disabled = 0;
}
else if (*args[0] != 0) {
ha_alert("parsing [%s:%d] : unknown keyword '%s' in '%s' section\n", file, linenum, args[0], cursection);
curproxy->table->peers.p = NULL;
cfgerr++;
}
- else if (curpeers->state == PR_STSTOPPED) {
+ else if (curpeers->disabled) {
/* silently disable this peers section */
curproxy->table->peers.p = NULL;
}
struct stktable *t;
curpeers = *last;
- if (curpeers->state == PR_STSTOPPED) {
+ if (curpeers->disabled) {
/* the "disabled" keyword was present */
if (curpeers->peers_fe)
stop_proxy(curpeers->peers_fe);
struct tm tm;
get_localtime(peers->last_change, &tm);
- chunk_appendf(msg, "%p: [%02d/%s/%04d:%02d:%02d:%02d] id=%s state=%d flags=0x%x resync_timeout=%s task_calls=%u\n",
+ chunk_appendf(msg, "%p: [%02d/%s/%04d:%02d:%02d:%02d] id=%s disabled=%d flags=0x%x resync_timeout=%s task_calls=%u\n",
peers,
tm.tm_mday, monthname[tm.tm_mon], tm.tm_year+1900,
tm.tm_hour, tm.tm_min, tm.tm_sec,
- peers->id, peers->state, peers->flags,
+ peers->id, peers->disabled, peers->flags,
peers->resync_timeout ?
tick_is_expired(peers->resync_timeout, now_ms) ? "<PAST>" :
human_time(TICKS_TO_MS(peers->resync_timeout - now_ms),