hyperledger/iroha
Iroha - A simple, decentralized ledger http://iroha.tech
rocksdb_query_executor.hpp
Go to the documentation of this file.
1 
6 #ifndef IROHA_ROCKSDB_QUERY_EXECUTOR_HPP
7 #define IROHA_ROCKSDB_QUERY_EXECUTOR_HPP
8 
10 
11 #include "logger/logger_fwd.hpp"
12 
13 namespace shared_model {
14  namespace interface {
15  class QueryResponseFactory;
16  } // namespace interface
17 } // namespace shared_model
18 
19 namespace iroha::ametsuchi {
20 
21  class RocksDbSpecificQueryExecutor;
22  struct RocksDBContext;
23 
25  public:
27  std::shared_ptr<shared_model::interface::QueryResponseFactory>
28  response_factory,
29  std::shared_ptr<RocksDbSpecificQueryExecutor> specific_query_executor,
30  logger::LoggerPtr log);
31 
32  bool validateSignatures(
33  const shared_model::interface::Query &query) override;
34  bool validateSignatures(
35  const shared_model::interface::BlocksQuery &query) override;
36 
37  private:
38  template <class Q>
39  bool validateSignaturesImpl(const Q &query);
40  std::shared_ptr<RocksDBContext> tx_context_;
41  };
42 
43 } // namespace iroha::ametsuchi
44 
45 #endif // IROHA_POSTGRES_QUERY_EXECUTOR_HPP
Definition: block_query.hpp:17
Definition: query.hpp:36
Definition: blocks_query.hpp:20
Definition: query_executor_base.hpp:23
std::shared_ptr< Logger > LoggerPtr
Definition: logger_fwd.hpp:22
Definition: rocksdb_query_executor.hpp:24
Definition: command_executor.hpp:13