17 #ifndef KAACHANNELMANAGER_HPP_
18 #define KAACHANNELMANAGER_HPP_
33 class IBootstrapManager;
66 bool useChannelForType(
const std::pair<TransportType, ChannelDirection>& type,
IDataChannelPtr channel);
87 std::map<TransportProtocolId, BootstrapServers> bootstrapServers_;
88 std::map<TransportProtocolId, BootstrapServers::iterator> lastBSServers_;
90 KAA_MUTEX_DECLARE(lastOpsServersGuard_);
91 std::map<TransportProtocolId, ITransportConnectionInfoPtr> lastOpsServers_;
94 KAA_R_MUTEX_DECLARE(channelGuard_);
95 std::set<IDataChannelPtr> channels_;
97 KAA_R_MUTEX_DECLARE(mappedChannelGuard_);
98 std::map<TransportType, IDataChannelPtr> mappedChannels_;
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()
KaaChannelManager(IBootstrapManager &manager, const BootstrapServers &servers)
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