9#include <userver/storages/redis/base.hpp>
10#include <userver/storages/redis/client_fwd.hpp>
11#include <userver/storages/redis/wait_connected_mode.hpp>
13#include <userver/storages/redis/subscription_token.hpp>
15USERVER_NAMESPACE_BEGIN
17namespace storages::
redis {
40 virtual ~SubscribeClient();
42 virtual SubscriptionToken Subscribe(
44 SubscriptionToken::OnMessageCb on_message_cb,
48 SubscriptionToken Subscribe(std::string channel, SubscriptionToken::OnMessageCb on_message_cb) {
49 return Subscribe(std::move(channel), std::move(on_message_cb), {});
52 virtual SubscriptionToken Psubscribe(
54 SubscriptionToken::OnPmessageCb on_pmessage_cb,
58 virtual size_t ShardsCount()
const = 0;
59 virtual bool IsInClusterMode()
const = 0;
61 SubscriptionToken Psubscribe(std::string pattern, SubscriptionToken::OnPmessageCb on_pmessage_cb) {
62 return Psubscribe(std::move(pattern), std::move(on_pmessage_cb), {});
65 virtual SubscriptionToken Ssubscribe(
67 SubscriptionToken::OnMessageCb on_message_cb,
71 SubscriptionToken Ssubscribe(std::string channel, SubscriptionToken::OnMessageCb on_message_cb) {
72 return Ssubscribe(std::move(channel), std::move(on_message_cb), {});