17 #ifndef KAACHANNELMANAGER_HPP_
18 #define KAACHANNELMANAGER_HPP_
35 class IBootstrapManager;
70 bool useChannelForType(
const std::pair<TransportType, ChannelDirection>& type,
IDataChannelPtr channel);
91 std::map<TransportProtocolId, BootstrapServers> bootstrapServers_;
92 std::map<TransportProtocolId, BootstrapServers::iterator> lastBSServers_;
94 KAA_MUTEX_DECLARE(lastOpsServersGuard_);
95 std::map<TransportProtocolId, ITransportConnectionInfoPtr> lastOpsServers_;
98 KAA_R_MUTEX_DECLARE(channelGuard_);
99 std::set<IDataChannelPtr> channels_;
101 KAA_R_MUTEX_DECLARE(mappedChannelGuard_);
102 std::map<TransportType, IDataChannelPtr> mappedChannels_;
KaaChannelManager(IBootstrapManager &manager, const BootstrapServers &servers, IKaaClientContext &context, IKaaClient *client)
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 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 onServerFailed(ITransportConnectionInfoPtr connectionInfo, KaaFailoverReason reason)
virtual void setChannel(TransportType type, IDataChannelPtr channel)
std::shared_ptr< ITransportConnectionInfo > ITransportConnectionInfoPtr