Increment version number
[ric-plt/sdl.git] / src / databaseconfigurationimpl.cpp
index f1fb2be..a8f64e6 100644 (file)
    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 <arpa/inet.h>
 
@@ -28,6 +33,7 @@ namespace
     }
 
     const uint16_t DEFAULT_PORT(6379U);
+    const uint16_t DEFAULT_SENTINEL_PORT(26379U);
 }
 
 DatabaseConfigurationImpl::DatabaseConfigurationImpl():
@@ -45,6 +51,8 @@ void DatabaseConfigurationImpl::checkAndApplyDbType(const std::string& type)
         dbType = DatabaseConfiguration::DbType::REDIS_STANDALONE;
     else if (type == "redis-cluster")
         dbType = DatabaseConfiguration::DbType::REDIS_CLUSTER;
+    else if (type == "redis-sentinel")
+        dbType = DatabaseConfiguration::DbType::REDIS_SENTINEL;
     else
         throw DatabaseConfiguration::InvalidDbType(type);
 }
@@ -73,3 +81,23 @@ DatabaseConfiguration::Addresses DatabaseConfigurationImpl::getDefaultServerAddr
 {
     return { HostAndPort(getDefaultHost(), htons(DEFAULT_PORT)) };
 }
+
+void DatabaseConfigurationImpl::checkAndApplySentinelAddress(const std::string& address)
+{
+    sentinelAddress = HostAndPort(address, htons(DEFAULT_SENTINEL_PORT));
+}
+
+boost::optional<HostAndPort> DatabaseConfigurationImpl::getSentinelAddress() const
+{
+    return sentinelAddress;
+}
+
+void DatabaseConfigurationImpl::checkAndApplySentinelMasterName(const std::string& name)
+{
+    sentinelMasterName = name;
+}
+
+std::string DatabaseConfigurationImpl::getSentinelMasterName() const
+{
+    return sentinelMasterName;
+}