8#ifdef WITH_GTEST_FRIEND_TEST
9#include <gtest/gtest.h>
27 template <
typename... U>
34 for (
auto& a : given_adapters) {
35 adapters.push_back(&a.get());
41 adapters.push_back(&a);
67 return adapters.size();
71 std::vector<adapter_ptr_t> adapters;
73#ifdef WITH_GTEST_FRIEND_TEST
A wrapper for the hiredis C interface with multi-client support.
set_reply_t smembers_reply_t
std::unique_ptr< redisReply, std::function< void(redisReply *)> > set_reply_t
Wrapper around HiredisAdapter for multi-client support.
std::reference_wrapper< HiredisAdapter > adapter_refw_t
set_reply_t set(const std::string &key, const std::string &value, const timeout_t expire=0) override
HiredisMultiAdapter(const HiredisMultiAdapter &)=delete
void expire(const std::string &key, timeout_t expire) override
HiredisMultiAdapter(const std::vector< adapter_refw_t > &given_adapters)
bool is_connected() const noexcept override
HiredisMultiAdapter(std::vector< HiredisAdapter > &given_adapters)
HiredisMultiAdapter()=default
sadd_reply_t sadd(const std::string &key, const std::string &value, const timeout_t expire=0) override
HiredisMultiAdapter(HiredisAdapter &a, U &... others)
void disconnect() override
smembers_reply_t smembers(const std::string &key) override
size_t adapter_amount() const noexcept
get_reply_t get(const std::string &key) override
void connect() override
Connect to the Redis server.
~HiredisMultiAdapter()=default
bool last_expire_has_failed() const noexcept override