hyperledger/iroha
Iroha - A simple, decentralized ledger http://iroha.tech
query_processor.hpp
Go to the documentation of this file.
1 
6 #ifndef IROHA_QUERY_PROCESSOR_HPP
7 #define IROHA_QUERY_PROCESSOR_HPP
8 
9 #include <rxcpp/rx-observable-fwd.hpp>
10 
11 #include <memory>
12 #include <string>
13 
14 #include "common/result_fwd.hpp"
15 
16 namespace shared_model {
17  namespace interface {
18  class Query;
19  class BlocksQuery;
20  class QueryResponse;
21  class BlockQueryResponse;
22  } // namespace interface
23 } // namespace shared_model
24 
25 namespace iroha {
26  namespace torii {
27 
32  public:
39  std::unique_ptr<shared_model::interface::QueryResponse>,
40  std::string>
41  queryHandle(const shared_model::interface::Query &qry) = 0;
47  virtual rxcpp::observable<
48  std::shared_ptr<shared_model::interface::BlockQueryResponse>>
49  blocksQueryHandle(const shared_model::interface::BlocksQuery &qry) = 0;
50 
51  virtual ~QueryProcessor(){};
52  };
53  } // namespace torii
54 } // namespace iroha
55 
56 #endif // IROHA_QUERY_PROCESSOR_HPP
Definition: command_client.hpp:16
Definition: query.hpp:36
Definition: blocks_query.hpp:20
Definition: result_fwd.hpp:27
Definition: block_query.hpp:15
virtual ~QueryProcessor()
Definition: query_processor.hpp:51
Definition: command_executor.hpp:12
Definition: query_processor.hpp:31