diff options
| author | Remko Tronçon <git@el-tramo.be> | 2011-12-24 14:27:33 (GMT) |
|---|---|---|
| committer | Remko Tronçon <git@el-tramo.be> | 2011-12-24 14:44:44 (GMT) |
| commit | c060049e759571ae02a3a970c6a3088e099e5c9f (patch) | |
| tree | 8512e2ca0ae0fba16238651b9d0edbb74e085b16 /Swiften/Network/BOSHConnectionPool.h | |
| parent | b453b3bf94dcd40d71c30fd0053f7110cb52b211 (diff) | |
| download | swift-contrib-c060049e759571ae02a3a970c6a3088e099e5c9f.zip swift-contrib-c060049e759571ae02a3a970c6a3088e099e5c9f.tar.bz2 | |
Some BOSH refactoring.
Diffstat (limited to 'Swiften/Network/BOSHConnectionPool.h')
| -rw-r--r-- | Swiften/Network/BOSHConnectionPool.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/Swiften/Network/BOSHConnectionPool.h b/Swiften/Network/BOSHConnectionPool.h index 2264c90..cc354b8 100644 --- a/Swiften/Network/BOSHConnectionPool.h +++ b/Swiften/Network/BOSHConnectionPool.h @@ -6,62 +6,62 @@ #pragma once #include <vector> #include <Swiften/Base/SafeString.h> #include <Swiften/Network/BOSHConnection.h> namespace Swift { class HTTPConnectProxiedConnectionFactory; class TLSConnectionFactory; 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(); 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; boost::signal<void (const SafeByteArray&)> onBOSHDataRead; boost::signal<void (const SafeByteArray&)> onBOSHDataWritten; private: void handleDataRead(const SafeByteArray& data); void handleSessionStarted(const std::string& sid, size_t requests); void handleBOSHDataRead(const SafeByteArray& data); void handleBOSHDataWritten(const SafeByteArray& data); void handleSessionTerminated(BOSHError::ref condition); void handleConnectFinished(bool, BOSHConnection::ref connection); - void handleConnectionDisconnected(const boost::optional<Connection::Error>& error, BOSHConnection::ref connection); + void handleConnectionDisconnected(bool error, BOSHConnection::ref connection); void handleHTTPError(const std::string& errorCode); private: BOSHConnection::ref createConnection(); void destroyConnection(BOSHConnection::ref connection); void tryToSendQueuedData(); BOSHConnection::ref getSuitableConnection(); private: URL boshURL; ConnectionFactory* connectionFactory; XMLParserFactory* xmlParserFactory; TLSContextFactory* tlsFactory; std::vector<BOSHConnection::ref> connections; std::string sid; unsigned long rid; std::vector<SafeByteArray> dataQueue; bool pendingTerminate; std::string to; size_t requestLimit; int restartCount; bool pendingRestart; HTTPConnectProxiedConnectionFactory* connectProxyFactory; TLSConnectionFactory* tlsConnectionFactory; }; } |
Swift