Iroha - A simple, decentralized ledger http://iroha.tech
iroha::GossipPropagationStrategy Class Reference

#include "gossip_propagation_strategy.hpp"

Inheritance diagram for iroha::GossipPropagationStrategy:
Inheritance graph
Collaboration diagram for iroha::GossipPropagationStrategy:
Collaboration graph

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 &params)
 ~GossipPropagationStrategy ()
rxcpp::observable< PropagationDataemitter () override
- Public Member Functions inherited from iroha::PropagationStrategy
virtual ~PropagationStrategy ()=default

Detailed Description

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

Member Typedef Documentation

using iroha::GossipPropagationStrategy::OptPeer = boost::optional<PropagationData::value_type>

Constructor & Destructor Documentation

iroha::GossipPropagationStrategy::GossipPropagationStrategy ( PeerProviderFactory  peer_factory,
rxcpp::observe_on_one_worker  emit_worker,
const GossipPropagationStrategyParams params 

Initialize strategy with

peer_factoryis a provider of peer list
emit_workeris the coordinator for the data emitting
paramsconfiguration parameters

Here is the call graph for this function:

iroha::GossipPropagationStrategy::~GossipPropagationStrategy ( )

Member Function Documentation

rxcpp::observable< PropagationData > iroha::GossipPropagationStrategy::emitter ( )

Provides observable that will be emit new results with respect to own strategy

Implements iroha::PropagationStrategy.

The documentation for this class was generated from the following files: