17 #ifndef KAACHANNELMANAGER_HPP_
18 #define KAACHANNELMANAGER_HPP_
34 class IBootstrapManager;
67 bool useChannelForType(
const std::pair<TransportType, ChannelDirection>& type,
IDataChannelPtr channel);
88 std::map<TransportProtocolId, BootstrapServers> bootstrapServers_;
89 std::map<TransportProtocolId, BootstrapServers::iterator> lastBSServers_;
91 KAA_MUTEX_DECLARE(lastOpsServersGuard_);
92 std::map<TransportProtocolId, ITransportConnectionInfoPtr> lastOpsServers_;
95 KAA_R_MUTEX_DECLARE(channelGuard_);
96 std::set<IDataChannelPtr> channels_;
98 KAA_R_MUTEX_DECLARE(mappedChannelGuard_);
99 std::map<TransportType, IDataChannelPtr> mappedChannels_;
KaaChannelManager(IBootstrapManager &manager, const BootstrapServers &servers, IKaaClientContext &context)
std::shared_ptr< IConnectivityChecker > ConnectivityCheckerPtr
std::shared_ptr< IFailoverStrategy > IFailoverStrategyPtr
std::atomic_bool bool_type
virtual void setConnectivityChecker(ConnectivityCheckerPtr checker)
virtual void removeChannel(const std::string &id)
virtual void onServerFailed(ITransportConnectionInfoPtr connectionInfo)
virtual IDataChannelPtr getChannel(const std::string &channelId)
virtual void setFailoverStrategy(IFailoverStrategyPtr strategy)
std::vector< ITransportConnectionInfoPtr > BootstrapServers
virtual void onTransportConnectionInfoUpdated(ITransportConnectionInfoPtr connectionInfo)
virtual IDataChannelPtr getChannelByTransportType(TransportType type)
virtual void clearChannelList()
virtual ITransportConnectionInfoPtr getPingServer()
virtual void addChannel(IDataChannelPtr channel)
virtual std::list< IDataChannelPtr > getChannels()
virtual void setChannel(TransportType type, IDataChannelPtr channel)
std::shared_ptr< ITransportConnectionInfo > ITransportConnectionInfoPtr