You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hc.apache.org by ol...@apache.org on 2011/08/12 13:59:31 UTC
svn commit: r1157060 - in /httpcomponents/httpcore/trunk:
httpcore-nio/src/examples/org/apache/http/examples/nio/
httpcore-nio/src/main/java/org/apache/http/impl/nio/
httpcore-nio/src/main/java/org/apache/http/impl/nio/pool/
httpcore-nio/src/main/java/...
Author: olegk
Date: Fri Aug 12 11:59:30 2011
New Revision: 1157060
URL: http://svn.apache.org/viewvc?rev=1157060&view=rev
Log:
I/O dispatchers and the basic non-blocking connection pool to use timeout values defined in HTTP parameters; added minimal javadocs for new connection pooling classes
Modified:
httpcomponents/httpcore/trunk/httpcore-nio/src/examples/org/apache/http/examples/nio/NHttpClient.java
httpcomponents/httpcore/trunk/httpcore-nio/src/examples/org/apache/http/examples/nio/NHttpSSLClient.java
httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/impl/nio/DefaultClientIOEventDispatch.java
httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/impl/nio/DefaultServerIOEventDispatch.java
httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/impl/nio/pool/BasicNIOConnPool.java
httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/impl/nio/pool/BasicNIOPoolEntry.java
httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/impl/nio/ssl/SSLClientIOEventDispatch.java
httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/impl/nio/ssl/SSLServerIOEventDispatch.java
httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/nio/pool/AbstractNIOConnPool.java
httpcomponents/httpcore/trunk/httpcore-nio/src/test/java/org/apache/http/impl/nio/pool/TestBasicNIOConnPool.java
httpcomponents/httpcore/trunk/httpcore/src/main/java/org/apache/http/pool/AbstractConnPool.java
httpcomponents/httpcore/trunk/httpcore/src/main/java/org/apache/http/pool/ConnPoolControl.java
httpcomponents/httpcore/trunk/httpcore/src/main/java/org/apache/http/pool/PoolEntry.java
httpcomponents/httpcore/trunk/httpcore/src/main/java/org/apache/http/pool/PoolStats.java
Modified: httpcomponents/httpcore/trunk/httpcore-nio/src/examples/org/apache/http/examples/nio/NHttpClient.java
URL: http://svn.apache.org/viewvc/httpcomponents/httpcore/trunk/httpcore-nio/src/examples/org/apache/http/examples/nio/NHttpClient.java?rev=1157060&r1=1157059&r2=1157060&view=diff
==============================================================================
--- httpcomponents/httpcore/trunk/httpcore-nio/src/examples/org/apache/http/examples/nio/NHttpClient.java (original)
+++ httpcomponents/httpcore/trunk/httpcore-nio/src/examples/org/apache/http/examples/nio/NHttpClient.java Fri Aug 12 11:59:30 2011
@@ -81,7 +81,7 @@ public class NHttpClient {
.setParameter(CoreProtocolPNames.USER_AGENT, "Test/1.1");
- BasicNIOConnPool pool = new BasicNIOConnPool(ioReactor);
+ BasicNIOConnPool pool = new BasicNIOConnPool(ioReactor, params);
// Limit total number of connections to just two
pool.setDefaultMaxPerRoute(2);
pool.setMaxTotal(2);
Modified: httpcomponents/httpcore/trunk/httpcore-nio/src/examples/org/apache/http/examples/nio/NHttpSSLClient.java
URL: http://svn.apache.org/viewvc/httpcomponents/httpcore/trunk/httpcore-nio/src/examples/org/apache/http/examples/nio/NHttpSSLClient.java?rev=1157060&r1=1157059&r2=1157060&view=diff
==============================================================================
--- httpcomponents/httpcore/trunk/httpcore-nio/src/examples/org/apache/http/examples/nio/NHttpSSLClient.java (original)
+++ httpcomponents/httpcore/trunk/httpcore-nio/src/examples/org/apache/http/examples/nio/NHttpSSLClient.java Fri Aug 12 11:59:30 2011
@@ -83,7 +83,7 @@ public class NHttpSSLClient {
final ConnectingIOReactor ioReactor = new DefaultConnectingIOReactor();
- BasicNIOConnPool pool = new BasicNIOConnPool(ioReactor);
+ BasicNIOConnPool pool = new BasicNIOConnPool(ioReactor, params);
// Limit total number of connections to just two
pool.setDefaultMaxPerRoute(2);
pool.setMaxTotal(2);
Modified: httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/impl/nio/DefaultClientIOEventDispatch.java
URL: http://svn.apache.org/viewvc/httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/impl/nio/DefaultClientIOEventDispatch.java?rev=1157060&r1=1157059&r2=1157060&view=diff
==============================================================================
--- httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/impl/nio/DefaultClientIOEventDispatch.java (original)
+++ httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/impl/nio/DefaultClientIOEventDispatch.java Fri Aug 12 11:59:30 2011
@@ -37,6 +37,7 @@ import org.apache.http.nio.reactor.IOEve
import org.apache.http.nio.reactor.IOSession;
import org.apache.http.nio.util.ByteBufferAllocator;
import org.apache.http.nio.util.HeapByteBufferAllocator;
+import org.apache.http.params.HttpConnectionParams;
import org.apache.http.params.HttpParams;
import org.apache.http.protocol.ExecutionContext;
@@ -48,6 +49,7 @@ import org.apache.http.protocol.Executio
* class:
* <ul>
* <li>{@link org.apache.http.params.CoreProtocolPNames#HTTP_ELEMENT_CHARSET}</li>
+ * <li>{@link org.apache.http.params.CoreConnectionPNames#SO_TIMEOUT}</li>
* <li>{@link org.apache.http.params.CoreConnectionPNames#SOCKET_BUFFER_SIZE}</li>
* <li>{@link org.apache.http.params.CoreConnectionPNames#MAX_HEADER_COUNT}</li>
* <li>{@link org.apache.http.params.CoreConnectionPNames#MAX_LINE_LENGTH}</li>
@@ -123,7 +125,7 @@ public class DefaultClientIOEventDispatc
*/
protected NHttpClientIOTarget createConnection(final IOSession session) {
try {
- return new DefaultNHttpClientConnection(
+ return new DefaultNHttpClientConnection(
session,
createHttpResponseFactory(),
this.allocator,
@@ -139,7 +141,11 @@ public class DefaultClientIOEventDispatc
NHttpClientIOTarget conn = createConnection(session);
Object attachment = session.getAttribute(IOSession.ATTACHMENT_KEY);
session.setAttribute(ExecutionContext.HTTP_CONNECTION, conn);
- this.handler.connected(conn, attachment);
+
+ int timeout = HttpConnectionParams.getSoTimeout(this.params);
+ conn.setSocketTimeout(timeout);
+
+ this.handler.connected(conn, attachment);
} catch (RuntimeException ex) {
session.shutdown();
throw ex;
Modified: httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/impl/nio/DefaultServerIOEventDispatch.java
URL: http://svn.apache.org/viewvc/httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/impl/nio/DefaultServerIOEventDispatch.java?rev=1157060&r1=1157059&r2=1157060&view=diff
==============================================================================
--- httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/impl/nio/DefaultServerIOEventDispatch.java (original)
+++ httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/impl/nio/DefaultServerIOEventDispatch.java Fri Aug 12 11:59:30 2011
@@ -37,6 +37,7 @@ import org.apache.http.nio.reactor.IOEve
import org.apache.http.nio.reactor.IOSession;
import org.apache.http.nio.util.ByteBufferAllocator;
import org.apache.http.nio.util.HeapByteBufferAllocator;
+import org.apache.http.params.HttpConnectionParams;
import org.apache.http.params.HttpParams;
import org.apache.http.protocol.ExecutionContext;
@@ -48,6 +49,7 @@ import org.apache.http.protocol.Executio
* class:
* <ul>
* <li>{@link org.apache.http.params.CoreProtocolPNames#HTTP_ELEMENT_CHARSET}</li>
+ * <li>{@link org.apache.http.params.CoreConnectionPNames#SO_TIMEOUT}</li>
* <li>{@link org.apache.http.params.CoreConnectionPNames#SOCKET_BUFFER_SIZE}</li>
* <li>{@link org.apache.http.params.CoreConnectionPNames#MAX_HEADER_COUNT}</li>
* <li>{@link org.apache.http.params.CoreConnectionPNames#MAX_LINE_LENGTH}</li>
@@ -122,7 +124,7 @@ public class DefaultServerIOEventDispatc
* @return newly created HTTP connection.
*/
protected NHttpServerIOTarget createConnection(final IOSession session) {
- return new DefaultNHttpServerConnection(
+ return new DefaultNHttpServerConnection(
session,
createHttpRequestFactory(),
this.allocator,
@@ -133,7 +135,11 @@ public class DefaultServerIOEventDispatc
try {
NHttpServerIOTarget conn = createConnection(session);
session.setAttribute(ExecutionContext.HTTP_CONNECTION, conn);
- this.handler.connected(conn);
+
+ int timeout = HttpConnectionParams.getSoTimeout(this.params);
+ session.setSocketTimeout(timeout);
+
+ this.handler.connected(conn);
} catch (RuntimeException ex) {
session.shutdown();
throw ex;
Modified: httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/impl/nio/pool/BasicNIOConnPool.java
URL: http://svn.apache.org/viewvc/httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/impl/nio/pool/BasicNIOConnPool.java?rev=1157060&r1=1157059&r2=1157060&view=diff
==============================================================================
--- httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/impl/nio/pool/BasicNIOConnPool.java (original)
+++ httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/impl/nio/pool/BasicNIOConnPool.java Fri Aug 12 11:59:30 2011
@@ -28,21 +28,43 @@ package org.apache.http.impl.nio.pool;
import java.net.InetSocketAddress;
import java.net.SocketAddress;
+import java.util.concurrent.Future;
+import java.util.concurrent.TimeUnit;
import java.util.concurrent.atomic.AtomicLong;
import org.apache.http.HttpHost;
import org.apache.http.annotation.ThreadSafe;
+import org.apache.http.concurrent.FutureCallback;
import org.apache.http.nio.pool.AbstractNIOConnPool;
import org.apache.http.nio.reactor.ConnectingIOReactor;
import org.apache.http.nio.reactor.IOSession;
+import org.apache.http.params.HttpConnectionParams;
+import org.apache.http.params.HttpParams;
+/**
+ * Basic non-blocking {@link IOSession} pool.
+ * <p>
+ * The following parameters can be used to customize the behavior of this
+ * class:
+ * <ul>
+ * <li>{@link org.apache.http.params.CoreConnectionPNames#CONNECTION_TIMEOUT}</li>
+ * </ul>
+ *
+ * @since 4.2
+ */
@ThreadSafe
public class BasicNIOConnPool extends AbstractNIOConnPool<HttpHost, IOSession, BasicNIOPoolEntry> {
private static AtomicLong COUNTER = new AtomicLong();
- public BasicNIOConnPool(final ConnectingIOReactor ioreactor) {
+ private final HttpParams params;
+
+ public BasicNIOConnPool(final ConnectingIOReactor ioreactor, final HttpParams params) {
super(ioreactor, 2, 20);
+ if (params == null) {
+ throw new IllegalArgumentException("HTTP parameters may not be null");
+ }
+ this.params = params;
}
@Override
@@ -71,4 +93,19 @@ public class BasicNIOConnPool extends Ab
iosession.shutdown();
}
+ @Override
+ public Future<BasicNIOPoolEntry> lease(
+ final HttpHost route,
+ final Object state,
+ final FutureCallback<BasicNIOPoolEntry> callback) {
+ int connectTimeout = HttpConnectionParams.getConnectionTimeout(this.params);
+ return super.lease(route, state, connectTimeout, TimeUnit.MILLISECONDS, callback);
+ }
+
+ @Override
+ public Future<BasicNIOPoolEntry> lease(final HttpHost route, final Object state) {
+ int connectTimeout = HttpConnectionParams.getConnectionTimeout(this.params);
+ return super.lease(route, state, connectTimeout, TimeUnit.MILLISECONDS, null);
+ }
+
}
Modified: httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/impl/nio/pool/BasicNIOPoolEntry.java
URL: http://svn.apache.org/viewvc/httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/impl/nio/pool/BasicNIOPoolEntry.java?rev=1157060&r1=1157059&r2=1157060&view=diff
==============================================================================
--- httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/impl/nio/pool/BasicNIOPoolEntry.java (original)
+++ httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/impl/nio/pool/BasicNIOPoolEntry.java Fri Aug 12 11:59:30 2011
@@ -31,6 +31,11 @@ import org.apache.http.annotation.Thread
import org.apache.http.nio.reactor.IOSession;
import org.apache.http.pool.PoolEntry;
+/**
+ * Pool entry for {@link BasicNIOConnPool}.
+ *
+ * @since 4.2
+ */
@ThreadSafe
public class BasicNIOPoolEntry extends PoolEntry<HttpHost, IOSession> {
Modified: httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/impl/nio/ssl/SSLClientIOEventDispatch.java
URL: http://svn.apache.org/viewvc/httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/impl/nio/ssl/SSLClientIOEventDispatch.java?rev=1157060&r1=1157059&r2=1157060&view=diff
==============================================================================
--- httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/impl/nio/ssl/SSLClientIOEventDispatch.java (original)
+++ httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/impl/nio/ssl/SSLClientIOEventDispatch.java Fri Aug 12 11:59:30 2011
@@ -46,6 +46,7 @@ import org.apache.http.nio.reactor.IOEve
import org.apache.http.nio.reactor.IOSession;
import org.apache.http.nio.util.ByteBufferAllocator;
import org.apache.http.nio.util.HeapByteBufferAllocator;
+import org.apache.http.params.HttpConnectionParams;
import org.apache.http.params.HttpParams;
import org.apache.http.protocol.ExecutionContext;
@@ -57,6 +58,7 @@ import org.apache.http.protocol.Executio
* class:
* <ul>
* <li>{@link org.apache.http.params.CoreProtocolPNames#HTTP_ELEMENT_CHARSET}</li>
+ * <li>{@link org.apache.http.params.CoreConnectionPNames#SO_TIMEOUT}</li>
* <li>{@link org.apache.http.params.CoreConnectionPNames#SOCKET_BUFFER_SIZE}</li>
* <li>{@link org.apache.http.params.CoreConnectionPNames#MAX_HEADER_COUNT}</li>
* <li>{@link org.apache.http.params.CoreConnectionPNames#MAX_LINE_LENGTH}</li>
@@ -200,7 +202,10 @@ public class SSLClientIOEventDispatch im
session.setAttribute(ExecutionContext.HTTP_CONNECTION, conn);
session.setAttribute(SSL_SESSION, sslSession);
- Object attachment = session.getAttribute(IOSession.ATTACHMENT_KEY);
+ int timeout = HttpConnectionParams.getSoTimeout(this.params);
+ conn.setSocketTimeout(timeout);
+
+ Object attachment = session.getAttribute(IOSession.ATTACHMENT_KEY);
this.handler.connected(conn, attachment);
try {
Modified: httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/impl/nio/ssl/SSLServerIOEventDispatch.java
URL: http://svn.apache.org/viewvc/httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/impl/nio/ssl/SSLServerIOEventDispatch.java?rev=1157060&r1=1157059&r2=1157060&view=diff
==============================================================================
--- httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/impl/nio/ssl/SSLServerIOEventDispatch.java (original)
+++ httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/impl/nio/ssl/SSLServerIOEventDispatch.java Fri Aug 12 11:59:30 2011
@@ -46,6 +46,7 @@ import org.apache.http.nio.reactor.IOEve
import org.apache.http.nio.reactor.IOSession;
import org.apache.http.nio.util.ByteBufferAllocator;
import org.apache.http.nio.util.HeapByteBufferAllocator;
+import org.apache.http.params.HttpConnectionParams;
import org.apache.http.params.HttpParams;
import org.apache.http.protocol.ExecutionContext;
@@ -57,6 +58,7 @@ import org.apache.http.protocol.Executio
* class:
* <ul>
* <li>{@link org.apache.http.params.CoreProtocolPNames#HTTP_ELEMENT_CHARSET}</li>
+ * <li>{@link org.apache.http.params.CoreConnectionPNames#SO_TIMEOUT}</li>
* <li>{@link org.apache.http.params.CoreConnectionPNames#SOCKET_BUFFER_SIZE}</li>
* <li>{@link org.apache.http.params.CoreConnectionPNames#MAX_HEADER_COUNT}</li>
* <li>{@link org.apache.http.params.CoreConnectionPNames#MAX_LINE_LENGTH}</li>
@@ -200,6 +202,9 @@ public class SSLServerIOEventDispatch im
session.setAttribute(ExecutionContext.HTTP_CONNECTION, conn);
session.setAttribute(SSL_SESSION, sslSession);
+ int timeout = HttpConnectionParams.getSoTimeout(this.params);
+ conn.setSocketTimeout(timeout);
+
this.handler.connected(conn);
try {
Modified: httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/nio/pool/AbstractNIOConnPool.java
URL: http://svn.apache.org/viewvc/httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/nio/pool/AbstractNIOConnPool.java?rev=1157060&r1=1157059&r2=1157060&view=diff
==============================================================================
--- httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/nio/pool/AbstractNIOConnPool.java (original)
+++ httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/nio/pool/AbstractNIOConnPool.java Fri Aug 12 11:59:30 2011
@@ -51,6 +51,15 @@ import org.apache.http.pool.ConnPoolCont
import org.apache.http.pool.PoolEntry;
import org.apache.http.pool.PoolStats;
+/**
+ * Abstract non-blocking connection pool.
+ *
+ * @param <T> route
+ * @param <C> connection object
+ * @param <E> pool entry
+ *
+ * @since 4.2
+ */
@ThreadSafe
public abstract class AbstractNIOConnPool<T, C, E extends PoolEntry<T, C>> implements ConnPoolControl<T> {
Modified: httpcomponents/httpcore/trunk/httpcore-nio/src/test/java/org/apache/http/impl/nio/pool/TestBasicNIOConnPool.java
URL: http://svn.apache.org/viewvc/httpcomponents/httpcore/trunk/httpcore-nio/src/test/java/org/apache/http/impl/nio/pool/TestBasicNIOConnPool.java?rev=1157060&r1=1157059&r2=1157060&view=diff
==============================================================================
--- httpcomponents/httpcore/trunk/httpcore-nio/src/test/java/org/apache/http/impl/nio/pool/TestBasicNIOConnPool.java (original)
+++ httpcomponents/httpcore/trunk/httpcore-nio/src/test/java/org/apache/http/impl/nio/pool/TestBasicNIOConnPool.java Fri Aug 12 11:59:30 2011
@@ -30,6 +30,7 @@ package org.apache.http.impl.nio.pool;
import org.apache.http.HttpHost;
import org.apache.http.nio.reactor.ConnectingIOReactor;
import org.apache.http.nio.reactor.IOSession;
+import org.apache.http.params.BasicHttpParams;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
@@ -49,7 +50,7 @@ public class TestBasicNIOConnPool {
route = new HttpHost("localhost", 80, "http");
- pool = new BasicNIOConnPool(reactor);
+ pool = new BasicNIOConnPool(reactor, new BasicHttpParams());
}
@After
@@ -58,7 +59,12 @@ public class TestBasicNIOConnPool {
@Test(expected=IllegalArgumentException.class)
public void testNullConstructor() throws Exception {
- pool = new BasicNIOConnPool(null);
+ pool = new BasicNIOConnPool(null, new BasicHttpParams());
+ }
+
+ @Test(expected=IllegalArgumentException.class)
+ public void testNullConstructor2() throws Exception {
+ pool = new BasicNIOConnPool(reactor, null);
}
@Test
Modified: httpcomponents/httpcore/trunk/httpcore/src/main/java/org/apache/http/pool/AbstractConnPool.java
URL: http://svn.apache.org/viewvc/httpcomponents/httpcore/trunk/httpcore/src/main/java/org/apache/http/pool/AbstractConnPool.java?rev=1157060&r1=1157059&r2=1157060&view=diff
==============================================================================
--- httpcomponents/httpcore/trunk/httpcore/src/main/java/org/apache/http/pool/AbstractConnPool.java (original)
+++ httpcomponents/httpcore/trunk/httpcore/src/main/java/org/apache/http/pool/AbstractConnPool.java Fri Aug 12 11:59:30 2011
@@ -42,6 +42,15 @@ import java.util.concurrent.locks.Reentr
import org.apache.http.annotation.ThreadSafe;
+/**
+ * Abstract blocking connection pool.
+ *
+ * @param <T> route
+ * @param <C> connection object
+ * @param <E> pool entry
+ *
+ * @since 4.2
+ */
@ThreadSafe
public abstract class AbstractConnPool<T, C, E extends PoolEntry<T, C>> implements ConnPoolControl<T> {
Modified: httpcomponents/httpcore/trunk/httpcore/src/main/java/org/apache/http/pool/ConnPoolControl.java
URL: http://svn.apache.org/viewvc/httpcomponents/httpcore/trunk/httpcore/src/main/java/org/apache/http/pool/ConnPoolControl.java?rev=1157060&r1=1157059&r2=1157060&view=diff
==============================================================================
--- httpcomponents/httpcore/trunk/httpcore/src/main/java/org/apache/http/pool/ConnPoolControl.java (original)
+++ httpcomponents/httpcore/trunk/httpcore/src/main/java/org/apache/http/pool/ConnPoolControl.java Fri Aug 12 11:59:30 2011
@@ -26,6 +26,13 @@
*/
package org.apache.http.pool;
+/**
+ * Interface to control runtime properties of a connection pool such as
+ * maximum total number of connections or maximum connections per route
+ * allowed.
+ *
+ * @param <T> route
+ */
public interface ConnPoolControl<T> {
void setMaxTotal(int max);
Modified: httpcomponents/httpcore/trunk/httpcore/src/main/java/org/apache/http/pool/PoolEntry.java
URL: http://svn.apache.org/viewvc/httpcomponents/httpcore/trunk/httpcore/src/main/java/org/apache/http/pool/PoolEntry.java?rev=1157060&r1=1157059&r2=1157060&view=diff
==============================================================================
--- httpcomponents/httpcore/trunk/httpcore/src/main/java/org/apache/http/pool/PoolEntry.java (original)
+++ httpcomponents/httpcore/trunk/httpcore/src/main/java/org/apache/http/pool/PoolEntry.java Fri Aug 12 11:59:30 2011
@@ -30,6 +30,14 @@ import java.util.concurrent.TimeUnit;
import org.apache.http.annotation.ThreadSafe;
+/**
+ * Pool entry containing a connection object along with its route information.
+ *
+ * @param <T> route
+ * @param <C> connection
+ *
+ * @since 4.2
+ */
@ThreadSafe
public class PoolEntry<T, C> {
Modified: httpcomponents/httpcore/trunk/httpcore/src/main/java/org/apache/http/pool/PoolStats.java
URL: http://svn.apache.org/viewvc/httpcomponents/httpcore/trunk/httpcore/src/main/java/org/apache/http/pool/PoolStats.java?rev=1157060&r1=1157059&r2=1157060&view=diff
==============================================================================
--- httpcomponents/httpcore/trunk/httpcore/src/main/java/org/apache/http/pool/PoolStats.java (original)
+++ httpcomponents/httpcore/trunk/httpcore/src/main/java/org/apache/http/pool/PoolStats.java Fri Aug 12 11:59:30 2011
@@ -28,6 +28,12 @@ package org.apache.http.pool;
import org.apache.http.annotation.Immutable;
+/**
+ * Pool statistics.
+ *
+ * @since 4.2
+ *
+ */
@Immutable
public class PoolStats {