6 #ifndef IROHA_ROCKSDB_BLOCK_STORAGE_HPP 7 #define IROHA_ROCKSDB_BLOCK_STORAGE_HPP 15 struct RocksDBContext;
20 std::shared_ptr<RocksDBContext> db_context,
21 std::shared_ptr<shared_model::interface::BlockJsonConverter>
26 std::shared_ptr<const shared_model::interface::Block> block)
override;
28 boost::optional<std::unique_ptr<shared_model::interface::Block>>
fetch(
31 size_t size()
const override;
35 void clear()
override;
41 std::shared_ptr<RocksDBContext> db_context_;
42 std::shared_ptr<shared_model::interface::BlockJsonConverter>
49 #endif // IROHA_ROCKSDB_BLOCK_STORAGE_HPP void reload() override
Definition: rocksdb_block_storage.cpp:108
Definition: block_query.hpp:17
uint64_t HeightType
Type of height (for Block, Proposal etc)
Definition: types.hpp:48
std::function< expected::Result< void, std::string >(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:56
Definition: block_storage.hpp:23
expected::Result< void, std::string > forEach(FunctionType function) const override
Definition: rocksdb_block_storage.cpp:120
Definition: result_fwd.hpp:27
bool insert(std::shared_ptr< const shared_model::interface::Block > block) override
Definition: rocksdb_block_storage.cpp:47
void clear() override
Definition: rocksdb_block_storage.cpp:110
std::shared_ptr< Logger > LoggerPtr
Definition: logger_fwd.hpp:22
RocksDbBlockStorage(std::shared_ptr< RocksDBContext > db_context, std::shared_ptr< shared_model::interface::BlockJsonConverter > json_converter, logger::LoggerPtr log)
Definition: rocksdb_block_storage.cpp:39
boost::optional< std::unique_ptr< shared_model::interface::Block > > fetch(shared_model::interface::types::HeightType height) const override
Definition: rocksdb_block_storage.cpp:71
size_t size() const override
Definition: rocksdb_block_storage.cpp:99
Definition: rocksdb_block_storage.hpp:17