hyperledger/iroha
Iroha - A simple, decentralized ledger http://iroha.tech
channel_pool.hpp
Go to the documentation of this file.
1 
6 #ifndef IROHA_CHANNEL_POOL_HPP
7 #define IROHA_CHANNEL_POOL_HPP
8 
10 
11 namespace iroha {
12  namespace network {
13 
14  class ChannelPool : public ChannelProvider {
15  public:
20  explicit ChannelPool(std::unique_ptr<ChannelProvider> channel_provider);
21 
22  ~ChannelPool();
23 
24  iroha::expected::Result<std::shared_ptr<grpc::Channel>, std::string>
25  getChannel(const std::string &service_full_name,
26  const shared_model::interface::Peer &peer) override;
27 
28  private:
29  class Impl;
30  std::unique_ptr<Impl> impl_;
31  };
32 
33  } // namespace network
34 } // namespace iroha
35 
36 #endif
iroha::expected::Result< std::shared_ptr< grpc::Channel >, std::string > getChannel(const std::string &service_full_name, const shared_model::interface::Peer &peer) override
Definition: channel_pool.cpp:58
Definition: peer.hpp:20
Definition: channel_pool.hpp:14
Definition: block_query.hpp:14
ChannelPool(std::unique_ptr< ChannelProvider > channel_provider)
Definition: channel_pool.cpp:53
Definition: channel_pool.cpp:20
Definition: channel_provider.hpp:24