X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=include%2Fprivate%2Fredis%2Fasyncsentineldatabasediscovery.hpp;h=98d1d237f7c2006dca1532d8f33436e5b1ea0758;hb=b7f4971cb7d84e8288140901f4a9dfa773292421;hp=527fa4ed41dd18b4690eeb7df5e3f98cc910020f;hpb=b8cd8b6087862ff04c9e39a0235ebf870c28ce39;p=ric-plt%2Fsdl.git diff --git a/include/private/redis/asyncsentineldatabasediscovery.hpp b/include/private/redis/asyncsentineldatabasediscovery.hpp index 527fa4e..98d1d23 100644 --- a/include/private/redis/asyncsentineldatabasediscovery.hpp +++ b/include/private/redis/asyncsentineldatabasediscovery.hpp @@ -44,7 +44,8 @@ namespace shareddatalayer using AsyncCommandDispatcherCreator = std::function(Engine& engine, const redis::DatabaseInfo& databaseInfo, std::shared_ptr contentsBuilder, - std::shared_ptr logger)>; + std::shared_ptr logger, + bool usePermanentCommandCallbacks)>; AsyncSentinelDatabaseDiscovery(const AsyncSentinelDatabaseDiscovery&) = delete; @@ -58,7 +59,7 @@ namespace shareddatalayer const AsyncCommandDispatcherCreator& asyncCommandDispatcherCreator, std::shared_ptr contentsBuilder); - ~AsyncSentinelDatabaseDiscovery() override = default; + ~AsyncSentinelDatabaseDiscovery() override; void setStateChangedCb(const StateChangedCb& stateChangedCb) override; @@ -70,11 +71,18 @@ namespace shareddatalayer std::shared_ptr logger; StateChangedCb stateChangedCb; DatabaseInfo databaseInfo; + std::shared_ptr subscriber; std::shared_ptr dispatcher; std::shared_ptr contentsBuilder; + Timer subscribeRetryTimer; + Timer::Duration subscribeRetryTimerDuration; Timer masterInquiryRetryTimer; Timer::Duration masterInquiryRetryTimerDuration; + void subscribeNotifications(); + + void subscribeAck(const std::error_code& error, const Reply& reply); + void sendMasterInquiry(); void masterInquiryAck(const std::error_code& error, const Reply& reply);