|
@@ -106,6 +106,8 @@ enum pool_strategy {
|
|
|
POOL_LOADBALANCE,
|
|
POOL_LOADBALANCE,
|
|
|
};
|
|
};
|
|
|
|
|
|
|
|
|
|
+#define TOP_STRATEGY (POOL_LOADBALANCE)
|
|
|
|
|
+
|
|
|
struct strategies {
|
|
struct strategies {
|
|
|
const char *s;
|
|
const char *s;
|
|
|
} strategies[] = {
|
|
} strategies[] = {
|
|
@@ -1432,7 +1434,10 @@ updated:
|
|
|
wattroff(logwin, A_BOLD | A_DIM);
|
|
wattroff(logwin, A_BOLD | A_DIM);
|
|
|
}
|
|
}
|
|
|
retry:
|
|
retry:
|
|
|
- wprintw(logwin, "\nCurrent pool management strategy: %s\n", strategies[pool_strategy]);
|
|
|
|
|
|
|
+ wprintw(logwin, "\nCurrent pool management strategy: %s\n",
|
|
|
|
|
+ strategies[pool_strategy]);
|
|
|
|
|
+ if (pool_strategy == POOL_ROTATE)
|
|
|
|
|
+ wprintw(logwin, "Set to rotate every %d minutes\n", opt_rotate_period);
|
|
|
wprintw(logwin, "[A]dd pool [R]emove pool [D]isable pool [E]nable pool\n");
|
|
wprintw(logwin, "[A]dd pool [R]emove pool [D]isable pool [E]nable pool\n");
|
|
|
wprintw(logwin, "[C]hange management strategy [S]witch pool\n");
|
|
wprintw(logwin, "[C]hange management strategy [S]witch pool\n");
|
|
|
wprintw(logwin, "Or press any other key to continue\n");
|
|
wprintw(logwin, "Or press any other key to continue\n");
|
|
@@ -1479,8 +1484,29 @@ retry:
|
|
|
if (pool->prio < current_pool()->prio)
|
|
if (pool->prio < current_pool()->prio)
|
|
|
switch_pools(pool);
|
|
switch_pools(pool);
|
|
|
goto updated;
|
|
goto updated;
|
|
|
|
|
+ } else if (!strncasecmp(&input, "c", 1)) {
|
|
|
|
|
+ for (i = 0; i <= TOP_STRATEGY; i++)
|
|
|
|
|
+ wprintw(logwin, "%d: %s\n", i, strategies[i]);
|
|
|
|
|
+ selected = curses_int("Select strategy number type");
|
|
|
|
|
+ if (selected < 0 || selected > TOP_STRATEGY) {
|
|
|
|
|
+ wprintw(logwin, "Invalid selection");
|
|
|
|
|
+ goto retry;
|
|
|
|
|
+ }
|
|
|
|
|
+ if (selected == POOL_ROTATE) {
|
|
|
|
|
+ opt_rotate_period = curses_int("Select interval in minutes");
|
|
|
|
|
+
|
|
|
|
|
+ if (opt_rotate_period < 0 || opt_rotate_period > 9999) {
|
|
|
|
|
+ opt_rotate_period = 0;
|
|
|
|
|
+ wprintw(logwin, "Invalid selection");
|
|
|
|
|
+ goto retry;
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ pool_strategy = selected;
|
|
|
|
|
+ switch_pools(NULL);
|
|
|
|
|
+ goto updated;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+ clear_logwin();
|
|
|
opt_loginput = false;
|
|
opt_loginput = false;
|
|
|
}
|
|
}
|
|
|
|
|
|