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

#include "channel_factory.hpp"

Inheritance diagram for iroha::network::ChannelFactory:
Inheritance graph
Collaboration diagram for iroha::network::ChannelFactory:
Collaboration graph


class  ChannelArgumentsProvider

Public Member Functions

 ChannelFactory (std::shared_ptr< const GrpcChannelParams > params)
 ~ChannelFactory () override
iroha::expected::Result< std::shared_ptr< grpc::Channel >, std::string > getChannel (const std::string &service_full_name, const shared_model::interface::Peer &peer) override
- Public Member Functions inherited from iroha::network::ChannelProvider
virtual ~ChannelProvider ()=default

Protected Member Functions

virtual iroha::expected::Result< std::shared_ptr< grpc::ChannelCredentials >, std::string > getChannelCredentials (const shared_model::interface::Peer &) const

Constructor & Destructor Documentation

◆ ChannelFactory()

ChannelFactory::ChannelFactory ( std::shared_ptr< const GrpcChannelParams params)
paramsgrpc channel params
Here is the call graph for this function:

◆ ~ChannelFactory()

ChannelFactory::~ChannelFactory ( )
Here is the caller graph for this function:

Member Function Documentation

◆ getChannel()

Result< std::shared_ptr< grpc::Channel >, std::string > ChannelFactory::getChannel ( const std::string &  service_full_name,
const shared_model::interface::Peer peer 

Get or create a grpc::Channel (from a pool of channels)

service_full_namethe full name of grpc service, e.g. iroha.consensus.yac.proto.Yac
peerthe target peer
std::shared_ptr<grpc::Channel> to that address

Implements iroha::network::ChannelProvider.

Here is the call graph for this function:

◆ getChannelCredentials()

Result< std::shared_ptr< grpc::ChannelCredentials >, std::string > ChannelFactory::getChannelCredentials ( const shared_model::interface::Peer ) const

Reimplemented in iroha::network::ChannelFactoryTls.

Here is the caller graph for this function:

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