X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=src%2Fredis%2Fasyncdatabasediscovery.cpp;h=66a440d39ac29a1804d915c103668958dd362f82;hb=2dcf940b7a815456af601cdc6fd8ebbc57bda161;hp=63f2f12cfc49b1dd6d6d3d11db98d3b4788bffb6;hpb=b7f4971cb7d84e8288140901f4a9dfa773292421;p=ric-plt%2Fsdl.git diff --git a/src/redis/asyncdatabasediscovery.cpp b/src/redis/asyncdatabasediscovery.cpp index 63f2f12..66a440d 100644 --- a/src/redis/asyncdatabasediscovery.cpp +++ b/src/redis/asyncdatabasediscovery.cpp @@ -14,18 +14,16 @@ limitations under the License. */ -#include "private/redis/asyncdatabasediscovery.hpp" -#include "private/databaseconfiguration.hpp" -#include "private/logger.hpp" #include #include "config.h" +#include "private/abort.hpp" +#include "private/databaseconfiguration.hpp" +#include "private/logger.hpp" +#include "private/redis/asyncdatabasediscovery.hpp" #if HAVE_HIREDIS #include "private/redis/asynchiredisdatabasediscovery.hpp" #endif -#if HAVE_SENTINEL #include "private/redis/asyncsentineldatabasediscovery.hpp" -#endif -#include "private/abort.hpp" using namespace shareddatalayer::redis; @@ -54,17 +52,26 @@ std::shared_ptr AsyncDatabaseDiscovery::create(std::shar else { #if HAVE_HIREDIS -#if HAVE_SENTINEL - static_cast(ns); - return std::make_shared(engine, - logger); -#else - return std::make_shared(engine, - ns, - DatabaseInfo::Type::SINGLE, - staticAddresses, - logger); -#endif + if (staticDbType == DatabaseConfiguration::DbType::REDIS_SENTINEL) + { + static_cast(ns); + auto sentinelAddress(staticDatabaseConfiguration.getSentinelAddress()); + if (sentinelAddress) + return std::make_shared(engine, + logger, + *sentinelAddress, + staticDatabaseConfiguration.getSentinelMasterName()); + else + SHAREDDATALAYER_ABORT("Sentinel address not configured."); + } + else + { + return std::make_shared(engine, + ns, + DatabaseInfo::Type::SINGLE, + staticAddresses, + logger); + } #else static_cast(logger); SHAREDDATALAYER_ABORT("No Hiredis");