6 #ifndef IROHA_GOSSIP_PROPAGATION_STRATEGY_HPP 7 #define IROHA_GOSSIP_PROPAGATION_STRATEGY_HPP 9 #include <boost/optional.hpp> 13 #include <rxcpp/rx-lite.hpp> 18 #include <rxcpp/operators/rx-observe_on.hpp> 31 using OptPeer = boost::optional<PropagationData::value_type>;
41 rxcpp::observe_on_one_worker emit_worker,
48 rxcpp::observable<PropagationData>
emitter()
override;
65 std::vector<size_t> non_visited;
70 rxcpp::observe_on_one_worker emit_worker;
75 rxcpp::observable<PropagationData> emitent;
96 #endif // IROHA_GOSSIP_PROPAGATION_STRATEGY_HPP
Definition: mst_propagation_strategy.hpp:18
boost::optional< PropagationData::value_type > OptPeer
Definition: gossip_propagation_strategy.hpp:31
GossipPropagationStrategy(PeerProviderFactory peer_factory, rxcpp::observe_on_one_worker emit_worker, const GossipPropagationStrategyParams ¶ms)
Definition: gossip_propagation_strategy.cpp:23
Definition: block_query.hpp:14
~GossipPropagationStrategy()
Definition: gossip_propagation_strategy.cpp:50
rxcpp::observable< PropagationData > emitter() override
Definition: gossip_propagation_strategy.cpp:46
Definition: gossip_propagation_strategy.hpp:28
Definition: gossip_propagation_strategy_params.hpp:23
std::shared_ptr< ametsuchi::PeerQueryFactory > PeerProviderFactory
Definition: gossip_propagation_strategy.hpp:30
PropagationStrategy::PropagationData PropagationData
Definition: gossip_propagation_strategy.cpp:18