Return-Path: X-Original-To: apmail-hc-commits-archive@www.apache.org Delivered-To: apmail-hc-commits-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 6C9486207 for ; Tue, 7 Jun 2011 14:48:13 +0000 (UTC) Received: (qmail 25723 invoked by uid 500); 7 Jun 2011 14:48:13 -0000 Delivered-To: apmail-hc-commits-archive@hc.apache.org Received: (qmail 25698 invoked by uid 500); 7 Jun 2011 14:48:13 -0000 Mailing-List: contact commits-help@hc.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: "HttpComponents Project" Delivered-To: mailing list commits@hc.apache.org Received: (qmail 25688 invoked by uid 99); 7 Jun 2011 14:48:13 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 07 Jun 2011 14:48:13 +0000 X-ASF-Spam-Status: No, hits=-2000.0 required=5.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.4] (HELO eris.apache.org) (140.211.11.4) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 07 Jun 2011 14:48:10 +0000 Received: by eris.apache.org (Postfix, from userid 65534) id 405F123889DA; Tue, 7 Jun 2011 14:47:49 +0000 (UTC) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r1133033 - in /httpcomponents/httpasyncclient/trunk/httpasyncclient/src/main/java/org/apache/http/impl/nio: client/DefaultAsyncRequestDirector.java conn/ClientConnAdaptor.java conn/DefaultClientConnection.java pool/SessionPool.java Date: Tue, 07 Jun 2011 14:47:49 -0000 To: commits@hc.apache.org From: olegk@apache.org X-Mailer: svnmailer-1.0.8 Message-Id: <20110607144749.405F123889DA@eris.apache.org> X-Virus-Checked: Checked by ClamAV on apache.org Author: olegk Date: Tue Jun 7 14:47:48 2011 New Revision: 1133033 URL: http://svn.apache.org/viewvc?rev=1133033&view=rev Log: Fixed handling of closed connections Modified: httpcomponents/httpasyncclient/trunk/httpasyncclient/src/main/java/org/apache/http/impl/nio/client/DefaultAsyncRequestDirector.java httpcomponents/httpasyncclient/trunk/httpasyncclient/src/main/java/org/apache/http/impl/nio/conn/ClientConnAdaptor.java httpcomponents/httpasyncclient/trunk/httpasyncclient/src/main/java/org/apache/http/impl/nio/conn/DefaultClientConnection.java httpcomponents/httpasyncclient/trunk/httpasyncclient/src/main/java/org/apache/http/impl/nio/pool/SessionPool.java Modified: httpcomponents/httpasyncclient/trunk/httpasyncclient/src/main/java/org/apache/http/impl/nio/client/DefaultAsyncRequestDirector.java URL: http://svn.apache.org/viewvc/httpcomponents/httpasyncclient/trunk/httpasyncclient/src/main/java/org/apache/http/impl/nio/client/DefaultAsyncRequestDirector.java?rev=1133033&r1=1133032&r2=1133033&view=diff ============================================================================== --- httpcomponents/httpasyncclient/trunk/httpasyncclient/src/main/java/org/apache/http/impl/nio/client/DefaultAsyncRequestDirector.java (original) +++ httpcomponents/httpasyncclient/trunk/httpasyncclient/src/main/java/org/apache/http/impl/nio/client/DefaultAsyncRequestDirector.java Tue Jun 7 14:47:48 2011 @@ -377,6 +377,7 @@ class DefaultAsyncRequestDirector imp } this.managedConn.setIdleDuration(duration, TimeUnit.MILLISECONDS); } else { + this.managedConn.markNonReusable(); releaseConnection(); invalidateAuthIfSuccessful(this.proxyAuthState); invalidateAuthIfSuccessful(this.targetAuthState); Modified: httpcomponents/httpasyncclient/trunk/httpasyncclient/src/main/java/org/apache/http/impl/nio/conn/ClientConnAdaptor.java URL: http://svn.apache.org/viewvc/httpcomponents/httpasyncclient/trunk/httpasyncclient/src/main/java/org/apache/http/impl/nio/conn/ClientConnAdaptor.java?rev=1133033&r1=1133032&r2=1133033&view=diff ============================================================================== --- httpcomponents/httpasyncclient/trunk/httpasyncclient/src/main/java/org/apache/http/impl/nio/conn/ClientConnAdaptor.java (original) +++ httpcomponents/httpasyncclient/trunk/httpasyncclient/src/main/java/org/apache/http/impl/nio/conn/ClientConnAdaptor.java Tue Jun 7 14:47:48 2011 @@ -128,7 +128,7 @@ class ClientConnAdaptor implements Manag } public boolean isReusable() { - return this.reusable; + return this.reusable && this.conn != null && this.conn.isOpen(); } public synchronized void markNonReusable() { Modified: httpcomponents/httpasyncclient/trunk/httpasyncclient/src/main/java/org/apache/http/impl/nio/conn/DefaultClientConnection.java URL: http://svn.apache.org/viewvc/httpcomponents/httpasyncclient/trunk/httpasyncclient/src/main/java/org/apache/http/impl/nio/conn/DefaultClientConnection.java?rev=1133033&r1=1133032&r2=1133033&view=diff ============================================================================== --- httpcomponents/httpasyncclient/trunk/httpasyncclient/src/main/java/org/apache/http/impl/nio/conn/DefaultClientConnection.java (original) +++ httpcomponents/httpasyncclient/trunk/httpasyncclient/src/main/java/org/apache/http/impl/nio/conn/DefaultClientConnection.java Tue Jun 7 14:47:48 2011 @@ -117,7 +117,22 @@ public class DefaultClientConnection @Override public String toString() { - return this.id; + StringBuilder buf = new StringBuilder(); + buf.append(this.id); + buf.append(" ["); + switch (this.status) { + case ACTIVE: + buf.append("ACTIVE"); + break; + case CLOSING: + buf.append("CLOSING"); + break; + case CLOSED: + buf.append("CLOSED"); + break; + } + buf.append("]"); + return buf.toString(); } class LoggingNHttpMessageWriter implements NHttpMessageWriter { Modified: httpcomponents/httpasyncclient/trunk/httpasyncclient/src/main/java/org/apache/http/impl/nio/pool/SessionPool.java URL: http://svn.apache.org/viewvc/httpcomponents/httpasyncclient/trunk/httpasyncclient/src/main/java/org/apache/http/impl/nio/pool/SessionPool.java?rev=1133033&r1=1133032&r2=1133033&view=diff ============================================================================== --- httpcomponents/httpasyncclient/trunk/httpasyncclient/src/main/java/org/apache/http/impl/nio/pool/SessionPool.java (original) +++ httpcomponents/httpasyncclient/trunk/httpasyncclient/src/main/java/org/apache/http/impl/nio/pool/SessionPool.java Tue Jun 7 14:47:48 2011 @@ -176,9 +176,6 @@ public abstract class SessionPool