diff options
Diffstat (limited to 'Swiften/Network/BOSHConnectionPool.h')
-rw-r--r-- | Swiften/Network/BOSHConnectionPool.h | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/Swiften/Network/BOSHConnectionPool.h b/Swiften/Network/BOSHConnectionPool.h index cc354b8..8bc0a7c 100644 --- a/Swiften/Network/BOSHConnectionPool.h +++ b/Swiften/Network/BOSHConnectionPool.h @@ -9,22 +9,24 @@ #include <vector> #include <Swiften/Base/SafeString.h> #include <Swiften/Network/BOSHConnection.h> namespace Swift { class HTTPConnectProxiedConnectionFactory; class TLSConnectionFactory; + class CachingNameOnlyDomainNameResolver; + class EventLoop; class BOSHConnectionPool : public boost::bsignals::trackable { public: - BOSHConnectionPool(const URL& boshURL, ConnectionFactory* connectionFactory, XMLParserFactory* parserFactory, TLSContextFactory* tlsFactory, const std::string& to, long initialRID, const URL& boshHTTPConnectProxyURL, const SafeString& boshHTTPConnectProxyAuthID, const SafeString& boshHTTPConnectProxyAuthPassword); + BOSHConnectionPool(const URL& boshURL, DomainNameResolver* resolver, ConnectionFactory* connectionFactory, XMLParserFactory* parserFactory, TLSContextFactory* tlsFactory, TimerFactory* timerFactory, EventLoop* eventLoop, const std::string& to, unsigned long long initialRID, const URL& boshHTTPConnectProxyURL, const SafeString& boshHTTPConnectProxyAuthID, const SafeString& boshHTTPConnectProxyAuthPassword); ~BOSHConnectionPool(); void write(const SafeByteArray& data); void writeFooter(); void close(); void restartStream(); boost::signal<void (BOSHError::ref)> onSessionTerminated; boost::signal<void ()> onSessionStarted; boost::signal<void (const SafeByteArray&)> onXMPPDataRead; @@ -46,22 +48,23 @@ namespace Swift { void destroyConnection(BOSHConnection::ref connection); void tryToSendQueuedData(); BOSHConnection::ref getSuitableConnection(); private: URL boshURL; ConnectionFactory* connectionFactory; XMLParserFactory* xmlParserFactory; TLSContextFactory* tlsFactory; + TimerFactory* timerFactory; std::vector<BOSHConnection::ref> connections; std::string sid; - unsigned long rid; + unsigned long long rid; std::vector<SafeByteArray> dataQueue; bool pendingTerminate; std::string to; size_t requestLimit; int restartCount; bool pendingRestart; - HTTPConnectProxiedConnectionFactory* connectProxyFactory; - TLSConnectionFactory* tlsConnectionFactory; + std::vector<ConnectionFactory*> myConnectionFactories; + CachingNameOnlyDomainNameResolver* resolver; }; } |