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;
78 return "/EP/LongSync";
89 static const std::string CHANNEL_ID;
90 static const std::map<TransportType, ChannelDirection> SUPPORTED_TYPES;
94 boost::asio::io_service io_;
95 boost::asio::io_service::work work_;
96 std::thread pollThread_;
100 bool connectionInProgress_;
106 std::shared_ptr<IPTransportInfo> currentServer_;
109 KAA_CONDITION_VARIABLE_DECLARE(waitCondition_);
110 KAA_MUTEX_DECLARE(conditionMutex_);
111 KAA_MUTEX_DECLARE(channelGuard_);
std::shared_ptr< IConnectivityChecker > ConnectivityCheckerPtr
virtual const std::map< TransportType, ChannelDirection > & getSupportedTransportTypes() const
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 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