17 #ifndef KAACHANNELMANAGER_HPP_
18 #define KAACHANNELMANAGER_HPP_
35 class IBootstrapManager;
75 bool useChannelForType(
const std::pair<TransportType, ChannelDirection>& type,
IDataChannelPtr channel);
106 std::map<TransportProtocolId, BootstrapServers> bootstrapServers_;
107 std::map<TransportProtocolId, BootstrapServers::iterator> lastBSServers_;
109 KAA_MUTEX_DECLARE(lastOpsServersGuard_);
110 std::map<TransportProtocolId, ITransportConnectionInfoPtr> lastOpsServers_;
112 KAA_R_MUTEX_DECLARE(channelGuard_);
113 std::set<IDataChannelPtr> channels_;
115 KAA_R_MUTEX_DECLARE(mappedChannelGuard_);
116 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 void onConnected(const EndpointConnectionInfo &connection)
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