/* * IXRedisClient.h * Author: Benjamin Sergeant * Copyright (c) 2019 Machine Zone, Inc. All rights reserved. */ #pragma once #include #include namespace ix { class Socket; class RedisClient { public: using OnRedisSubscribeResponseCallback = std::function; using OnRedisSubscribeCallback = std::function; RedisClient() = default; ~RedisClient() = default; bool connect(const std::string& hostname, int port); bool auth(const std::string& password, std::string& response); bool publish(const std::string& channel, const std::string& message, std::string& errMsg); bool subscribe(const std::string& channel, const OnRedisSubscribeResponseCallback& responseCallback, const OnRedisSubscribeCallback& callback); private: std::string writeString(const std::string& str); std::shared_ptr _socket; }; } // namespace ix