diff options
author | Remko Tronçon <git@el-tramo.be> | 2009-12-31 13:27:52 (GMT) |
---|---|---|
committer | Remko Tronçon <git@el-tramo.be> | 2009-12-31 13:27:52 (GMT) |
commit | 152c455e18aae9b613f17bca8bba4a2beafe0228 (patch) | |
tree | cde533a0bf5dbe014acba3eb2645761ade53dd20 /Swiften/Network/Connector.h | |
parent | 3625bf9f94aad738b6d44da4b8f70c60cd167647 (diff) | |
download | swift-152c455e18aae9b613f17bca8bba4a2beafe0228.zip swift-152c455e18aae9b613f17bca8bba4a2beafe0228.tar.bz2 |
Added tests for timing out initial connect.
Diffstat (limited to 'Swiften/Network/Connector.h')
-rw-r--r-- | Swiften/Network/Connector.h | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/Swiften/Network/Connector.h b/Swiften/Network/Connector.h index cb885ab..6df3970 100644 --- a/Swiften/Network/Connector.h +++ b/Swiften/Network/Connector.h @@ -1,47 +1,48 @@ #pragma once #include <deque> #include <boost/signal.hpp> #include <boost/shared_ptr.hpp> #include "Swiften/Network/DomainNameServiceQuery.h" #include "Swiften/Network/Connection.h" #include "Swiften/Network/HostAddressPort.h" #include "Swiften/Base/String.h" #include "Swiften/Network/DomainNameResolveError.h" namespace Swift { class DomainNameAddressQuery; class DomainNameResolver; class ConnectionFactory; class Connector : public boost::bsignals::trackable { public: Connector(const String& hostname, DomainNameResolver*, ConnectionFactory*); + void setTimeoutMilliseconds(int milliseconds); void start(); boost::signal<void (boost::shared_ptr<Connection>)> onConnectFinished; private: void handleServiceQueryResult(const std::vector<DomainNameServiceQuery::Result>& result); void handleAddressQueryResult(const HostAddress& address, boost::optional<DomainNameResolveError> error); void queryAddress(const String& hostname); void tryNextHostname(); void tryConnect(const HostAddressPort& target); void handleConnectionConnectFinished(bool error); private: String hostname; DomainNameResolver* resolver; ConnectionFactory* connectionFactory; + int timeoutMilliseconds; boost::shared_ptr<DomainNameServiceQuery> serviceQuery; std::deque<DomainNameServiceQuery::Result> serviceQueryResults; boost::shared_ptr<DomainNameAddressQuery> addressQuery; bool queriedAllHosts; boost::shared_ptr<Connection> currentConnection; }; - }; |