6 #ifndef KAGOME_NETWORK_PROTOCOLFACTORY 7 #define KAGOME_NETWORK_PROTOCOLFACTORY 23 #include <libp2p/basic/scheduler.hpp> 34 std::shared_ptr<boost::asio::io_context> io_context,
35 std::shared_ptr<crypto::Hasher> hasher,
36 std::shared_ptr<StreamEngine> stream_engine,
37 std::shared_ptr<primitives::events::ExtrinsicSubscriptionEngine>
38 extrinsic_events_engine,
39 std::shared_ptr<subscription::ExtrinsicEventKeyRepository>
41 std::shared_ptr<ReputationRepository> reputation_repository,
42 std::shared_ptr<libp2p::basic::Scheduler> scheduler);
45 const std::shared_ptr<blockchain::BlockTree> &block_tree) {
49 void setBabe(
const std::shared_ptr<consensus::babe::Babe> &babe) {
54 const std::shared_ptr<consensus::grandpa::GrandpaObserver>
60 const std::shared_ptr<ExtrinsicObserver> &extrinsic_observer) {
65 std::shared_ptr<CollationObserver>
const &collation_observer) {
70 const std::shared_ptr<StateProtocolObserver> &state_observer) {
75 std::shared_ptr<ReqCollationObserver>
const &req_collation_observer) {
80 const std::shared_ptr<SyncProtocolObserver> &sync_observer) {
92 std::shared_ptr<PropagateTransactionsProtocol>
109 std::shared_ptr<primitives::events::ExtrinsicSubscriptionEngine>
111 std::shared_ptr<subscription::ExtrinsicEventKeyRepository>
117 std::weak_ptr<consensus::babe::Babe>
babe_;
129 #endif // KAGOME_NETWORK_PROTOCOLFACTORY std::shared_ptr< GrandpaProtocol > makeGrandpaProtocol() const
std::weak_ptr< consensus::grandpa::GrandpaObserver > grandpa_observer_
std::shared_ptr< CollationProtocol > makeCollationProtocol() const
std::shared_ptr< StateProtocol > makeStateProtocol() const
const OwnPeerInfo & own_info_
std::weak_ptr< StateProtocolObserver > state_observer_
std::weak_ptr< consensus::babe::Babe > babe_
std::weak_ptr< ReqCollationObserver > req_collation_observer_
std::shared_ptr< ReqCollationProtocol > makeReqCollationProtocol() const
void setPeerManager(const std::shared_ptr< PeerManager > &peer_manager)
std::weak_ptr< ExtrinsicObserver > extrinsic_observer_
void setGrandpaObserver(const std::shared_ptr< consensus::grandpa::GrandpaObserver > &grandpa_observer)
void setCollactionObserver(std::shared_ptr< CollationObserver > const &collation_observer)
void setExtrinsicObserver(const std::shared_ptr< ExtrinsicObserver > &extrinsic_observer)
ProtocolFactory(libp2p::Host &host, const application::AppConfiguration &app_config, const application::ChainSpec &chain_spec, const OwnPeerInfo &own_info, std::shared_ptr< boost::asio::io_context > io_context, std::shared_ptr< crypto::Hasher > hasher, std::shared_ptr< StreamEngine > stream_engine, std::shared_ptr< primitives::events::ExtrinsicSubscriptionEngine > extrinsic_events_engine, std::shared_ptr< subscription::ExtrinsicEventKeyRepository > ext_event_key_repo, std::shared_ptr< ReputationRepository > reputation_repository, std::shared_ptr< libp2p::basic::Scheduler > scheduler)
std::weak_ptr< PeerManager > peer_manager_
std::shared_ptr< StreamEngine > stream_engine_
void setSyncObserver(const std::shared_ptr< SyncProtocolObserver > &sync_observer)
std::weak_ptr< blockchain::BlockTree > block_tree_
std::shared_ptr< SyncProtocol > makeSyncProtocol() const
void setReqCollationObserver(std::shared_ptr< ReqCollationObserver > const &req_collation_observer)
std::shared_ptr< primitives::events::ExtrinsicSubscriptionEngine > extrinsic_events_engine_
void setBabe(const std::shared_ptr< consensus::babe::Babe > &babe)
void setBlockTree(const std::shared_ptr< blockchain::BlockTree > &block_tree)
std::weak_ptr< SyncProtocolObserver > sync_observer_
std::shared_ptr< PropagateTransactionsProtocol > makePropagateTransactionsProtocol() const
std::weak_ptr< CollationObserver > collation_observer_
const application::ChainSpec & chain_spec_
const application::AppConfiguration & app_config_
std::shared_ptr< BlockAnnounceProtocol > makeBlockAnnounceProtocol() const
std::shared_ptr< boost::asio::io_context > io_context_
void setStateObserver(const std::shared_ptr< StateProtocolObserver > &state_observer)
std::shared_ptr< crypto::Hasher > hasher_
std::shared_ptr< libp2p::basic::Scheduler > scheduler_
std::shared_ptr< subscription::ExtrinsicEventKeyRepository > ext_event_key_repo_
std::shared_ptr< ReputationRepository > reputation_repository_