6 #ifndef IROHA_BLOCK_LOADER_IMPL_HPP 7 #define IROHA_BLOCK_LOADER_IMPL_HPP 11 #include <unordered_map> 16 #include "loader.grpc.pb.h" 25 std::shared_ptr<ametsuchi::PeerQueryFactory> peer_query_factory,
29 rxcpp::observable<std::shared_ptr<shared_model::interface::Block>>
31 shared_model::interface::types::PublicKeyHexStringView
32 peer_pubkey)
override;
34 boost::optional<std::shared_ptr<shared_model::interface::Block>>
36 shared_model::interface::types::PublicKeyHexStringView peer_pubkey,
46 boost::optional<std::shared_ptr<shared_model::interface::Peer>> findPeer(
47 shared_model::interface::types::PublicKeyHexStringView pubkey);
53 proto::Loader::StubInterface &getPeerStub(
57 std::unique_ptr<proto::Loader::StubInterface>>
59 std::shared_ptr<ametsuchi::PeerQueryFactory> peer_query_factory_;
67 #endif // IROHA_BLOCK_LOADER_IMPL_HPP std::string AddressType
Type of peer address.
Definition: types.hpp:50
uint64_t HeightType
Type of height (for Block, Proposal etc)
Definition: types.hpp:48
boost::optional< std::shared_ptr< shared_model::interface::Block > > retrieveBlock(shared_model::interface::types::PublicKeyHexStringView peer_pubkey, shared_model::interface::types::HeightType block_height) override
Definition: block_loader_impl.cpp:75
std::shared_ptr< Logger > LoggerPtr
Definition: logger_fwd.hpp:22
Definition: block_loader.hpp:20
Definition: block_query.hpp:15
BlockLoaderImpl(std::shared_ptr< ametsuchi::PeerQueryFactory > peer_query_factory, shared_model::proto::ProtoBlockFactory factory, logger::LoggerPtr log)
Definition: block_loader_impl.cpp:30
Definition: block_loader_impl.hpp:21
rxcpp::observable< std::shared_ptr< shared_model::interface::Block > > retrieveBlocks(const shared_model::interface::types::HeightType height, shared_model::interface::types::PublicKeyHexStringView peer_pubkey) override
Definition: block_loader_impl.cpp:38
Definition: proto_block_factory.hpp:21