diff --git a/src/main/java/com/ning/http/client/providers/grizzly/GrizzlyAsyncHttpProvider.java b/src/main/java/com/ning/http/client/providers/grizzly/GrizzlyAsyncHttpProvider.java index 592af17ad7..ff95bfb2b5 100644 --- a/src/main/java/com/ning/http/client/providers/grizzly/GrizzlyAsyncHttpProvider.java +++ b/src/main/java/com/ning/http/client/providers/grizzly/GrizzlyAsyncHttpProvider.java @@ -96,7 +96,6 @@ import java.io.UnsupportedEncodingException; import java.net.InetSocketAddress; import java.net.URI; -import java.net.URL; import java.net.URLEncoder; import java.nio.ByteBuffer; import java.security.NoSuchAlgorithmException; diff --git a/src/main/java/com/ning/http/client/providers/grizzly/GrizzlyConnectionsPool.java b/src/main/java/com/ning/http/client/providers/grizzly/GrizzlyConnectionsPool.java index f6649035f1..bb0fcc9659 100644 --- a/src/main/java/com/ning/http/client/providers/grizzly/GrizzlyConnectionsPool.java +++ b/src/main/java/com/ning/http/client/providers/grizzly/GrizzlyConnectionsPool.java @@ -360,6 +360,7 @@ final class IdleConnectionQueue { final TimeoutResolver resolver = new TimeoutResolver(); final long timeout; + final AtomicInteger count = new AtomicInteger(0); // ---------------------------------------------------- Constructors @@ -377,9 +378,11 @@ void offer(final Connection c) { resolver.setTimeoutMs(c, System.currentTimeMillis() + timeout); } queue.offer(c); + count.incrementAndGet(); } Connection poll() { + count.decrementAndGet(); return queue.poll(); } @@ -388,15 +391,16 @@ boolean remove(final Connection c) { resolver.removeTimeout(c); } + count.decrementAndGet(); return queue.remove(c); } int size() { - return queue.size(); + return count.get(); } boolean isEmpty() { - return queue.isEmpty(); + return (count.get() == 0); } void destroy() {