diff options
author | Greg Wilkins | 2011-02-22 22:05:43 +0000 |
---|---|---|
committer | Greg Wilkins | 2011-02-22 22:05:43 +0000 |
commit | 8acf49568cd0d19ab20f1fa8f3a7ebd9071bbf55 (patch) | |
tree | 2e0c0968918da12fd15884bf767a986d2afc48b7 | |
parent | f6349cd762d54217ae4e87cc591e9b4531c39931 (diff) | |
download | org.eclipse.jetty.project-8acf49568cd0d19ab20f1fa8f3a7ebd9071bbf55.tar.gz org.eclipse.jetty.project-8acf49568cd0d19ab20f1fa8f3a7ebd9071bbf55.tar.xz org.eclipse.jetty.project-8acf49568cd0d19ab20f1fa8f3a7ebd9071bbf55.zip |
337678 use the httpClient timerQ for connect timeouts
git-svn-id: svn+ssh://dev.eclipse.org/svnroot/rt/org.eclipse.jetty/jetty/trunk@2819 7e9141cc-0065-0410-87d8-b60c137991c4
-rw-r--r-- | jetty-client/src/main/java/org/eclipse/jetty/client/HttpClient.java | 6 | ||||
-rw-r--r-- | jetty-client/src/main/java/org/eclipse/jetty/client/SelectConnector.java | 29 |
2 files changed, 7 insertions, 28 deletions
diff --git a/jetty-client/src/main/java/org/eclipse/jetty/client/HttpClient.java b/jetty-client/src/main/java/org/eclipse/jetty/client/HttpClient.java index 0fcb5dc36d..688af0e76c 100644 --- a/jetty-client/src/main/java/org/eclipse/jetty/client/HttpClient.java +++ b/jetty-client/src/main/java/org/eclipse/jetty/client/HttpClient.java @@ -246,6 +246,7 @@ public class HttpClient extends HttpBuffers implements Attributes _timeoutQ.schedule(task); } + /* ------------------------------------------------------------ */ public void schedule(Timeout.Task task, long timeout) { _timeoutQ.schedule(task, timeout - _timeoutQ.getDuration()); @@ -529,6 +530,7 @@ public class HttpClient extends HttpBuffers implements Attributes public void startConnection(HttpDestination destination) throws IOException; } + /* ------------------------------------------------------------ */ /** * if a keystore location has been provided then client will attempt to use it as the keystore, * otherwise we simply ignore certificates and run with a loose ssl context. @@ -567,6 +569,7 @@ public class HttpClient extends HttpBuffers implements Attributes _idleTimeout = ms; } + /* ------------------------------------------------------------ */ /** * @return the period in ms that an exchange will wait for a response from the server. * @deprecated use {@link #getTimeout()} instead. @@ -577,6 +580,7 @@ public class HttpClient extends HttpBuffers implements Attributes return Long.valueOf(getTimeout()).intValue(); } + /* ------------------------------------------------------------ */ /** * @deprecated use {@link #setTimeout(long)} instead. * @param timeout the period in ms that an exchange will wait for a response from the server. @@ -605,6 +609,7 @@ public class HttpClient extends HttpBuffers implements Attributes _timeout = timeout; } + /* ------------------------------------------------------------ */ /** * @return the period in ms before timing out an attempt to connect */ @@ -613,6 +618,7 @@ public class HttpClient extends HttpBuffers implements Attributes return _connectTimeout; } + /* ------------------------------------------------------------ */ /** * @param connectTimeout the period in ms before timing out an attempt to connect */ diff --git a/jetty-client/src/main/java/org/eclipse/jetty/client/SelectConnector.java b/jetty-client/src/main/java/org/eclipse/jetty/client/SelectConnector.java index 9570a4b150..f2c8e10824 100644 --- a/jetty-client/src/main/java/org/eclipse/jetty/client/SelectConnector.java +++ b/jetty-client/src/main/java/org/eclipse/jetty/client/SelectConnector.java @@ -44,7 +44,6 @@ class SelectConnector extends AbstractLifeCycle implements HttpClient.Connector, { private final HttpClient _httpClient; private final Manager _selectorManager=new Manager(); - private final Timeout _connectTimer = new Timeout(); private final Map<SocketChannel, Timeout.Task> _connectingChannels = new ConcurrentHashMap<SocketChannel, Timeout.Task>(); private SSLContext _sslContext; private Buffers _sslBuffers; @@ -62,31 +61,6 @@ class SelectConnector extends AbstractLifeCycle implements HttpClient.Connector, protected void doStart() throws Exception { super.doStart(); - _connectTimer.setDuration(_httpClient.getConnectTimeout()); - _connectTimer.setNow(); - - if (!_httpClient.isConnectBlocking()) - { - _httpClient._threadPool.dispatch(new Runnable() - { - public void run() - { - while (isRunning()) - { - _connectTimer.tick(System.currentTimeMillis()); - try - { - Thread.sleep(200); - } - catch (InterruptedException x) - { - Thread.currentThread().interrupt(); - break; - } - } - } - }); - } _selectorManager.start(); @@ -136,7 +110,6 @@ class SelectConnector extends AbstractLifeCycle implements HttpClient.Connector, @Override protected void doStop() throws Exception { - _connectTimer.cancelAll(); _selectorManager.stop(); } @@ -156,7 +129,7 @@ class SelectConnector extends AbstractLifeCycle implements HttpClient.Connector, channel.connect(address.toSocketAddress()); _selectorManager.register( channel, destination ); ConnectTimeout connectTimeout = new ConnectTimeout(channel, destination); - _connectTimer.schedule(connectTimeout); + _httpClient.schedule(connectTimeout,_httpClient.getConnectTimeout()); _connectingChannels.put(channel, connectTimeout); } else |