X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=src%2Fdatabaseconfigurationimpl.cpp;h=4ee548f85142faeb4db4aad8ef34e22682161e49;hb=refs%2Fchanges%2F93%2F6593%2F4;hp=909e4e4243efc908ace300fbd37e382aef35247e;hpb=2dcf940b7a815456af601cdc6fd8ebbc57bda161;p=ric-plt%2Fsdl.git diff --git a/src/databaseconfigurationimpl.cpp b/src/databaseconfigurationimpl.cpp index 909e4e4..4ee548f 100644 --- a/src/databaseconfigurationimpl.cpp +++ b/src/databaseconfigurationimpl.cpp @@ -14,8 +14,14 @@ limitations under the License. */ +/* + * This source code is part of the near-RT RIC (RAN Intelligent Controller) + * platform project (RICP). +*/ + #include "private/databaseconfigurationimpl.hpp" #include +#include using namespace shareddatalayer; @@ -48,6 +54,10 @@ void DatabaseConfigurationImpl::checkAndApplyDbType(const std::string& type) dbType = DatabaseConfiguration::DbType::REDIS_CLUSTER; else if (type == "redis-sentinel") dbType = DatabaseConfiguration::DbType::REDIS_SENTINEL; + else if (type == "sdl-standalone-cluster") + dbType = DatabaseConfiguration::DbType::SDL_STANDALONE_CLUSTER; + else if (type == "sdl-sentinel-cluster") + dbType = DatabaseConfiguration::DbType::SDL_SENTINEL_CLUSTER; else throw DatabaseConfiguration::InvalidDbType(type); } @@ -72,6 +82,14 @@ DatabaseConfiguration::Addresses DatabaseConfigurationImpl::getServerAddresses() return serverAddresses; } +DatabaseConfiguration::Addresses DatabaseConfigurationImpl::getServerAddresses(const boost::optional& addressIndex) const +{ + if (addressIndex) + return { HostAndPort(serverAddresses.at(*addressIndex)) }; + + return serverAddresses; +} + DatabaseConfiguration::Addresses DatabaseConfigurationImpl::getDefaultServerAddresses() const { return { HostAndPort(getDefaultHost(), htons(DEFAULT_PORT)) }; @@ -87,6 +105,14 @@ boost::optional DatabaseConfigurationImpl::getSentinelAddress() con return sentinelAddress; } +boost::optional DatabaseConfigurationImpl::getSentinelAddress(const boost::optional& addressIndex) const +{ + if (addressIndex) + return { HostAndPort(serverAddresses.at(*addressIndex).getHost(), sentinelAddress->getPort()) }; + + return getSentinelAddress(); +} + void DatabaseConfigurationImpl::checkAndApplySentinelMasterName(const std::string& name) { sentinelMasterName = name;