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_;