MT#61822 streamline CLI config diff/revert

Replace the awkward unnecessary strcmp case distintion with some macro
invokations.

Change-Id: I0ecd2312e9586e3221770aaf5076d6b8ce4371b3
pull/1897/head
Richard Fuchs 11 months ago
parent 13ca0bff5a
commit 3e7f17335d

@ -386,43 +386,49 @@ RTPE_CONFIG_ENDPOINT_QUEUE_PARAMS
} }
#define int_diff_print(struct_member, option_string) \ #define int_diff_print(struct_member, option_string) \
if (initial_rtpe_config.struct_member != atomic_get_na(&rtpe_config.struct_member)) { \ if (initial_rtpe_config.struct_member != atomic_get_na(&rtpe_config.struct_member)) \
if (strcmp(option, "diff") == 0) \ cw->cw_printf(cw, "%s: %lld => %lld\n", option_string, \
cw->cw_printf(cw, "%s: %lld => %lld\n", option_string, \ (long long)initial_rtpe_config.struct_member, \
(long long)initial_rtpe_config.struct_member, \ (long long)atomic_get_na(&rtpe_config.struct_member));
(long long)atomic_get_na(&rtpe_config.struct_member)); \ #define int_revert(struct_member, option_string) \
else if (strcmp(option, "revert") == 0) \ if (initial_rtpe_config.struct_member != atomic_get_na(&rtpe_config.struct_member)) \
rtpe_config.struct_member = initial_rtpe_config.struct_member; \ atomic_set_na(&rtpe_config.struct_member, initial_rtpe_config.struct_member);
}
#define SETTABLE_OPTIONS \
X(max_sessions, "max-sessions") \
X(cpu_limit, "max-cpu") \
X(load_limit, "max-load") \
X(bw_limit, "max-bw") \
X(timeout, "timeout") \
X(silent_timeout, "silent-timeout") \
X(final_timeout, "final-timeout") \
X(control_tos, "control-tos") \
X(redis_allowed_errors, "redis_allowed_errors") \
X(redis_disable_time, "redis_disable_time") \
X(redis_cmd_timeout, "redis_cmd_timeout") \
X(redis_connect_timeout, "redis_connect_timeout-db") \
static void cli_incoming_diff_or_revert(struct cli_writer *cw, char* option) { static void cli_incoming_params_diff(str *instr, struct cli_writer *cw, const cli_handler_t *handler) {
#define ll(system, descr) \ #define ll(system, descr) \
int_diff_print(common.log_levels[log_level_index_ ## system], "log-level-" #system); int_diff_print(common.log_levels[log_level_index_ ## system], "log-level-" #system);
#include "loglevels.h" #include "loglevels.h"
#undef ll #undef ll
int_diff_print(max_sessions, "max-sessions"); #define X(v, n) \
int_diff_print(cpu_limit, "max-cpu"); int_diff_print(v, n)
int_diff_print(load_limit, "max-load"); SETTABLE_OPTIONS
int_diff_print(bw_limit, "max-bw"); #undef X
int_diff_print(timeout, "timeout");
int_diff_print(silent_timeout, "silent-timeout");
int_diff_print(final_timeout, "final-timeout");
int_diff_print(control_tos, "control-tos");
int_diff_print(redis_allowed_errors, "redis_allowed_errors");
int_diff_print(redis_disable_time, "redis_disable_time");
int_diff_print(redis_cmd_timeout, "redis_cmd_timeout");
int_diff_print(redis_connect_timeout, "redis_connect_timeout-db");
}
static void cli_incoming_params_diff(str *instr, struct cli_writer *cw, const cli_handler_t *handler) {
cli_incoming_diff_or_revert(cw, "diff");
} }
static void cli_incoming_params_revert(str *instr, struct cli_writer *cw, const cli_handler_t *handler) { static void cli_incoming_params_revert(str *instr, struct cli_writer *cw, const cli_handler_t *handler) {
#define ll(system, descr) \
int_revert(common.log_levels[log_level_index_ ## system], "log-level-" #system);
#include "loglevels.h"
#undef ll
cli_incoming_diff_or_revert(cw, "revert"); #define X(v, n) \
int_revert(v, n)
SETTABLE_OPTIONS
#undef X
} }

Loading…
Cancel
Save