#include "gossip_propagation_strategy.hpp"


Public Types | |
| using | PeerProviderFactory = std::shared_ptr< ametsuchi::PeerQueryFactory > |
| using | OptPeer = boost::optional< PropagationData::value_type > |
Public Types inherited from iroha::PropagationStrategy | |
| using | PropagationData = std::vector< std::shared_ptr< shared_model::interface::Peer > > |
Public Member Functions | |
| GossipPropagationStrategy (PeerProviderFactory peer_factory, rxcpp::observe_on_one_worker emit_worker, const GossipPropagationStrategyParams ¶ms) | |
| ~GossipPropagationStrategy () | |
| rxcpp::observable< PropagationData > | emitter () override |
Public Member Functions inherited from iroha::PropagationStrategy | |
| virtual | ~PropagationStrategy ()=default |
This class provides strategy for propagation states in network Emits exactly (or zero if provider is empty) amount of peers at some period note: it can be inconsistent with the peer provider
| using iroha::GossipPropagationStrategy::OptPeer = boost::optional<PropagationData::value_type> |
| using iroha::GossipPropagationStrategy::PeerProviderFactory = std::shared_ptr<ametsuchi::PeerQueryFactory> |
| iroha::GossipPropagationStrategy::GossipPropagationStrategy | ( | PeerProviderFactory | peer_factory, |
| rxcpp::observe_on_one_worker | emit_worker, | ||
| const GossipPropagationStrategyParams & | params | ||
| ) |
Initialize strategy with
| peer_factory | is a provider of peer list |
| emit_worker | is the coordinator for the data emitting |
| params | configuration parameters |

| iroha::GossipPropagationStrategy::~GossipPropagationStrategy | ( | ) |
|
overridevirtual |
Provides observable that will be emit new results with respect to own strategy
Implements iroha::PropagationStrategy.