17 #ifndef KAACHANNELMANAGER_HPP_
18 #define KAACHANNELMANAGER_HPP_
32 class IBootstrapManager;
64 bool useChannelForType(
const std::pair<TransportType, ChannelDirection>& type,
IDataChannelPtr channel);
82 std::map<TransportProtocolId, std::list<ITransportConnectionInfoPtr>> bootstrapServers_;
84 KAA_MUTEX_DECLARE(lastOpsServersGuard_);
85 std::map<TransportProtocolId, ITransportConnectionInfoPtr> lastOpsServers_;
87 std::map<TransportProtocolId, ITransportConnectionInfoPtr> lastBSServers_;
89 KAA_MUTEX_DECLARE(channelGuard_);
90 std::set<IDataChannelPtr> channels_;
92 KAA_R_MUTEX_DECLARE(mappedChannelGuard_);
93 std::map<TransportType, IDataChannelPtr> mappedChannels_;
std::shared_ptr< IConnectivityChecker > ConnectivityCheckerPtr
virtual void setConnectivityChecker(ConnectivityCheckerPtr checker)
virtual void removeChannel(const std::string &id)
virtual void onServerFailed(ITransportConnectionInfoPtr connectionInfo)
virtual IDataChannelPtr getChannel(const std::string &channelId)
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