6 #ifndef IROHA_POSTGRES_BLOCK_STORAGE_HPP 7 #define IROHA_POSTGRES_BLOCK_STORAGE_HPP 30 std::shared_ptr<const shared_model::interface::Block> block)
override;
32 boost::optional<std::unique_ptr<shared_model::interface::Block>>
fetch(
35 size_t size()
const override;
37 void clear()
override;
48 boost::optional<HeightRange> getBlockHeightsRange()
const;
60 std::shared_ptr<PoolWrapper> pool_wrapper,
69 #endif // IROHA_POSTGRES_BLOCK_STORAGE_HPP uint64_t HeightType
Type of height (for Block, Proposal etc)
Definition: types.hpp:48
static const model::converters::PbBlockFactory block_factory
Definition: sha3_hash.cpp:15
PostgresBlockStorage(std::shared_ptr< PoolWrapper > pool_wrapper, std::shared_ptr< BlockTransportFactory > block_factory, std::string table, logger::LoggerPtr log)
Definition: postgres_block_storage.cpp:15
size_t size() const override
Definition: postgres_block_storage.cpp:100
Definition: block_storage.hpp:22
bool insert(std::shared_ptr< const shared_model::interface::Block > block) override
Definition: postgres_block_storage.cpp:25
std::shared_ptr< Logger > LoggerPtr
Definition: logger_fwd.hpp:22
boost::optional< std::unique_ptr< shared_model::interface::Block > > fetch(shared_model::interface::types::HeightType height) const override
Definition: postgres_block_storage.cpp:59
Definition: block_query.hpp:15
std::string table_
Definition: postgres_block_storage.hpp:53
std::shared_ptr< PoolWrapper > pool_wrapper_
Definition: postgres_block_storage.hpp:51
Definition: postgres_block_storage.hpp:20
void clear() override
Definition: postgres_block_storage.cpp:108
std::function< void(std::shared_ptr< const shared_model::interface::Block >)> FunctionType
type of function which can be applied to the elements of the storage
Definition: block_storage.hpp:50
logger::LoggerPtr log_
Definition: postgres_block_storage.hpp:54
void forEach(FunctionType function) const override
Definition: postgres_block_storage.cpp:118
std::shared_ptr< BlockTransportFactory > block_factory_
Definition: postgres_block_storage.hpp:52
Definition: postgres_block_storage.hpp:57
Definition: proto_block_factory.hpp:21