17 #ifndef DEFAULTOPERATIONLONGPOLLCHANNEL_HPP_
18 #define DEFAULTOPERATIONLONGPOLLCHANNEL_HPP_
25 #include <boost/asio.hpp>
48 virtual const std::string&
getId()
const {
return CHANNEL_ID; }
63 return SUPPORTED_TYPES;
79 return "/EP/LongSync";
90 static const std::string CHANNEL_ID;
91 static const std::map<TransportType, ChannelDirection> SUPPORTED_TYPES;
95 boost::asio::io_service io_;
96 boost::asio::io_service::work work_;
97 std::thread pollThread_;
101 bool connectionInProgress_;
107 std::shared_ptr<IPTransportInfo> currentServer_;
110 KAA_CONDITION_VARIABLE_DECLARE(waitCondition_);
111 KAA_MUTEX_DECLARE(conditionMutex_);
112 KAA_MUTEX_DECLARE(channelGuard_);
std::shared_ptr< IConnectivityChecker > ConnectivityCheckerPtr
virtual const std::map< TransportType, ChannelDirection > & getSupportedTransportTypes() const
std::shared_ptr< IFailoverStrategy > IFailoverStrategyPtr
virtual void setDemultiplexer(IKaaDataDemultiplexer *demultiplexer)
virtual ~DefaultOperationLongPollChannel()
static const TransportProtocolId HTTP_TRANSPORT_ID
virtual const std::string & getId() const
virtual TransportProtocolId getTransportProtocolId() const
virtual void setConnectivityChecker(ConnectivityCheckerPtr checker)
virtual void setFailoverStrategy(IFailoverStrategyPtr strategy)
virtual ServerType getServerType() const
virtual ITransportConnectionInfoPtr getServer()
virtual void setServer(ITransportConnectionInfoPtr server)
virtual void sync(TransportType type)
virtual void setMultiplexer(IKaaDataMultiplexer *multiplexer)
std::string getURLSuffix()
DefaultOperationLongPollChannel(IKaaChannelManager *channelManager, const KeyPair &clientKeys)
virtual void syncAck(TransportType type)
std::shared_ptr< ITransportConnectionInfo > ITransportConnectionInfoPtr