hyperledger/iroha
Iroha - A simple, decentralized ledger http://iroha.tech
postgres_block_storage_factory.hpp
Go to the documentation of this file.
1 
6 #ifndef IROHA_POSTGRES_BLOCK_STORAGE_FACTORY_HPP
7 #define IROHA_POSTGRES_BLOCK_STORAGE_FACTORY_HPP
8 
10 
12 #include "logger/logger_fwd.hpp"
13 
14 namespace iroha {
15  namespace ametsuchi {
17  public:
19  std::shared_ptr<PoolWrapper> pool_wrapper,
20  std::shared_ptr<shared_model::proto::ProtoBlockFactory> block_factory,
21  std::function<std::string()> table_name_provider,
22  logger::LoggerPtr log);
23 
25  create() override;
26 
28  soci::session &sql, const std::string &table);
29 
30  private:
31  std::shared_ptr<PoolWrapper> pool_wrapper_;
32  std::shared_ptr<shared_model::proto::ProtoBlockFactory> block_factory_;
33  std::function<std::string()> table_name_provider_;
34  logger::LoggerPtr log_;
35  };
36  } // namespace ametsuchi
37 } // namespace iroha
38 
39 #endif // IROHA_POSTGRES_BLOCK_STORAGE_FACTORY_HPP
static const model::converters::PbBlockFactory block_factory
Definition: sha3_hash.cpp:15
Definition: result_fwd.hpp:27
std::shared_ptr< Logger > LoggerPtr
Definition: logger_fwd.hpp:22
Definition: block_query.hpp:15
static iroha::expected::Result< void, std::string > createTable(soci::session &sql, const std::string &table)
Definition: postgres_block_storage_factory.cpp:34
Definition: block_storage_factory.hpp:19
PostgresBlockStorageFactory(std::shared_ptr< PoolWrapper > pool_wrapper, std::shared_ptr< shared_model::proto::ProtoBlockFactory > block_factory, std::function< std::string()> table_name_provider, logger::LoggerPtr log)
Definition: postgres_block_storage_factory.cpp:13
Definition: postgres_block_storage_factory.hpp:16
iroha::expected::Result< std::unique_ptr< BlockStorage >, std::string > create() override
Definition: postgres_block_storage_factory.cpp:24