From 11271254205e9f7c1caf363be8822b3f9756f061 Mon Sep 17 00:00:00 2001 From: Sumit Bose Date: Jan 19 2016 16:54:31 +0000 Subject: FO: add be_fo_get_active_server_name() Reviewed-by: Jakub Hrozek (cherry picked from commit 7fdec78178440855058be8ca1011e0b1aa45de31) --- diff --git a/src/providers/data_provider_fo.c b/src/providers/data_provider_fo.c index cd57340..d1d8c4c 100644 --- a/src/providers/data_provider_fo.c +++ b/src/providers/data_provider_fo.c @@ -723,6 +723,23 @@ void be_fo_try_next_server(struct be_ctx *ctx, const char *service_name) } } +const char *be_fo_get_active_server_name(struct be_ctx *ctx, + const char *service_name) +{ + struct be_svc_data *svc; + struct fo_server *server; + + svc = be_fo_find_svc_data(ctx, service_name); + if (svc != NULL) { + server = fo_get_active_server(svc->fo_service); + if (server != NULL) { + return fo_get_server_name(server); + } + } + + return NULL; +} + int be_fo_run_callbacks_at_next_request(struct be_ctx *ctx, const char *service_name) { diff --git a/src/providers/dp_backend.h b/src/providers/dp_backend.h index 0ced851..ffeeca4 100644 --- a/src/providers/dp_backend.h +++ b/src/providers/dp_backend.h @@ -285,6 +285,9 @@ int be_fo_run_callbacks_at_next_request(struct be_ctx *ctx, void reset_fo(struct be_ctx *be_ctx); void be_fo_reset_svc(struct be_ctx *be_ctx, const char *svc_name); +const char *be_fo_get_active_server_name(struct be_ctx *ctx, + const char *service_name); + errno_t be_res_init(struct be_ctx *ctx); /* be_req helpers */