5#include <userver/storages/redis/reply_fwd.hpp>
6#include <userver/storages/redis/reply_types.hpp>
7#include <userver/storages/redis/scan_tag.hpp>
11namespace storages::
redis {
20template <
typename ReplyType>
23 virtual ~RequestDataBase() =
default;
25 virtual void Wait() = 0;
27 virtual ReplyType Get(
const std::string& request_description) = 0;
29 virtual ReplyPtr GetRaw() = 0;
32template <ScanTag scan_tag>
35 using ReplyElem =
typename ScanReplyElem<scan_tag>::type;
37 virtual ~RequestScanDataBase() =
default;
39 void SetRequestDescription(std::string request_description) {
40 request_description_ = std::move(request_description);
43 virtual ReplyElem Get() = 0;
45 virtual ReplyElem& Current() = 0;
47 virtual bool Eof() = 0;
51 std::string request_description_;