hyperledger/iroha
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

Parameters
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 ( )
overridevirtual

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: