X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=include%2Fprivate%2Fasyncstorageimpl.hpp;h=59998330bff57bf2ba4543537f30a642e71ab300;hb=ece67088ea6c4f67b9d0db74477a9d5c614d7763;hp=fcd2e05a3ce2243c9bcac49459d1e6989b22822a;hpb=ef2bf51d04aaf01fa0cabdcaf905b23423067662;p=ric-plt%2Fsdl.git diff --git a/include/private/asyncstorageimpl.hpp b/include/private/asyncstorageimpl.hpp index fcd2e05..5999833 100644 --- a/include/private/asyncstorageimpl.hpp +++ b/include/private/asyncstorageimpl.hpp @@ -14,15 +14,23 @@ limitations under the License. */ +/* + * This source code is part of the near-RT RIC (RAN Intelligent Controller) + * platform project (RICP). +*/ + #ifndef SHAREDDATALAYER_REDIS_ASYNCSTORAGEIMPL_HPP_ #define SHAREDDATALAYER_REDIS_ASYNCSTORAGEIMPL_HPP_ +#include #include #include #include "private/configurationreader.hpp" #include "private/databaseconfigurationimpl.hpp" #include "private/logger.hpp" #include "private/namespaceconfigurationsimpl.hpp" +#include "private/redis/asyncdatabasediscovery.hpp" +#include "private/redis/asyncredisstorage.hpp" namespace shareddatalayer { @@ -31,6 +39,12 @@ namespace shareddatalayer class AsyncStorageImpl: public AsyncStorage { public: + using AsyncDatabaseDiscoveryCreator = std::function(std::shared_ptr engine, + const std::string& ns, + const DatabaseConfiguration& databaseConfiguration, + const boost::optional& addressIndex, + std::shared_ptr logger)>; + AsyncStorageImpl(const AsyncStorageImpl&) = delete; AsyncStorageImpl& operator = (const AsyncStorageImpl&) = delete; @@ -48,7 +62,8 @@ namespace shareddatalayer const boost::optional& pId, std::shared_ptr databaseConfiguration, std::shared_ptr namespaceConfigurations, - std::shared_ptr logger); + std::shared_ptr logger, + const AsyncDatabaseDiscoveryCreator& asyncDatabaseDiscoveryCreator); int fd() const override; @@ -80,9 +95,15 @@ namespace shareddatalayer std::shared_ptr namespaceConfigurations; const boost::optional publisherId; std::shared_ptr logger; + AsyncDatabaseDiscoveryCreator asyncDatabaseDiscoveryCreator; + + std::vector> asyncStorages; - AsyncStorage& getRedisHandler(); + AsyncStorage& getRedisHandler(const std::string& ns); AsyncStorage& getDummyHandler(); + + void setAsyncRedisStorageHandlers(const std::string& ns); + AsyncStorage& getAsyncRedisStorageHandler(const std::string& ns); }; }