17 #ifndef KAACHANNELMANAGER_HPP_
18 #define KAACHANNELMANAGER_HPP_
26 #include "kaa/gen/BootstrapGen.hpp"
33 class IBootstrapManager;
57 return (*lastBSServers_.begin()).second;
67 bool useChannelForType(
const std::pair<TransportType, ChannelDirection>& type,
IDataChannelPtr channel);
85 std::map<ChannelType, std::list<IServerInfoPtr>> bootstrapServers_;
87 KAA_MUTEX_DECLARE(lastOpsServersGuard_);
88 std::map<ChannelType, IServerInfoPtr> lastOpsServers_;
90 std::map<ChannelType, IServerInfoPtr> lastBSServers_;
92 KAA_MUTEX_DECLARE(channelGuard_);
93 std::set<IDataChannelPtr> channels_;
95 KAA_R_MUTEX_DECLARE(mappedChannelGuard_);
96 std::map<TransportType, IDataChannelPtr> mappedChannels_;
std::shared_ptr< IConnectivityChecker > ConnectivityCheckerPtr
virtual void setConnectivityChecker(ConnectivityCheckerPtr checker)
virtual void removeChannel(const std::string &id)
std::shared_ptr< IServerInfo > IServerInfoPtr
virtual IDataChannelPtr getChannel(const std::string &channelId)
virtual IDataChannelPtr getChannelByTransportType(TransportType type)
virtual IServerInfoPtr getPingServer()
virtual void clearChannelList()
KaaChannelManager(IBootstrapManager &manager, const BootstrapServers &servers)
virtual void addChannel(IDataChannelPtr channel)
virtual std::list< IDataChannelPtr > getChannelsByType(ChannelType type)
std::vector< IServerInfoPtr > BootstrapServers
virtual std::list< IDataChannelPtr > getChannels()
virtual void onServerFailed(IServerInfoPtr server)
virtual void setChannel(TransportType type, IDataChannelPtr channel)
virtual void onServerUpdated(IServerInfoPtr server)