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 2012/10/03 22:40:03 UTC
svn commit: r1393752 - in /httpcomponents/httpcore/trunk/httpcore-nio/src:
examples/org/apache/http/examples/nio/ main/java/org/apache/http/impl/nio/
main/java/org/apache/http/impl/nio/pool/
test/java/org/apache/http/impl/nio/pool/ test/java/org/apache...
Author: olegk
Date: Wed Oct 3 20:40:02 2012
New Revision: 1393752
URL: http://svn.apache.org/viewvc?rev=1393752&view=rev
Log:
Configuration API changes: basic non-blocking connection pool implementation is no longer dependent on HttpParams
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/NHttpReverseProxy.java
httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/impl/nio/DefaultHttpClientIODispatch.java
httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/impl/nio/DefaultHttpServerIODispatch.java
httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/impl/nio/DefaultNHttpClientConnectionFactory.java
httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/impl/nio/DefaultNHttpServerConnectionFactory.java
httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/impl/nio/SSLNHttpClientConnectionFactory.java
httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/impl/nio/SSLNHttpServerConnectionFactory.java
httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/impl/nio/pool/BasicNIOConnFactory.java
httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/impl/nio/pool/BasicNIOConnPool.java
httpcomponents/httpcore/trunk/httpcore-nio/src/test/java/org/apache/http/impl/nio/pool/TestBasicNIOConnPool.java
httpcomponents/httpcore/trunk/httpcore-nio/src/test/java/org/apache/http/impl/nio/reactor/TestDefaultListeningIOReactor.java
httpcomponents/httpcore/trunk/httpcore-nio/src/test/java/org/apache/http/testserver/HttpCoreNIOTestBase.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=1393752&r1=1393751&r2=1393752&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 Wed Oct 3 20:40:02 2012
@@ -29,6 +29,7 @@ package org.apache.http.examples.nio;
import java.io.IOException;
import java.io.InterruptedIOException;
import java.util.concurrent.CountDownLatch;
+import java.util.concurrent.TimeUnit;
import org.apache.http.HttpHost;
import org.apache.http.HttpRequestInterceptor;
@@ -79,11 +80,11 @@ public class NHttpClient {
// Create client-side HTTP protocol handler
HttpAsyncRequestExecutor protocolHandler = new HttpAsyncRequestExecutor();
// Create client-side I/O event dispatch
- final IOEventDispatch ioEventDispatch = new DefaultHttpClientIODispatch(protocolHandler, params);
+ final IOEventDispatch ioEventDispatch = new DefaultHttpClientIODispatch(protocolHandler);
// Create client-side I/O reactor
final ConnectingIOReactor ioReactor = new DefaultConnectingIOReactor();
// Create HTTP connection pool
- BasicNIOConnPool pool = new BasicNIOConnPool(ioReactor, params);
+ BasicNIOConnPool pool = new BasicNIOConnPool(ioReactor, 3, TimeUnit.SECONDS);
// 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/NHttpReverseProxy.java
URL: http://svn.apache.org/viewvc/httpcomponents/httpcore/trunk/httpcore-nio/src/examples/org/apache/http/examples/nio/NHttpReverseProxy.java?rev=1393752&r1=1393751&r2=1393752&view=diff
==============================================================================
--- httpcomponents/httpcore/trunk/httpcore-nio/src/examples/org/apache/http/examples/nio/NHttpReverseProxy.java (original)
+++ httpcomponents/httpcore/trunk/httpcore-nio/src/examples/org/apache/http/examples/nio/NHttpReverseProxy.java Wed Oct 3 20:40:02 2012
@@ -32,6 +32,7 @@ import java.net.InetSocketAddress;
import java.net.URI;
import java.nio.ByteBuffer;
import java.util.Locale;
+import java.util.concurrent.TimeUnit;
import java.util.concurrent.atomic.AtomicLong;
import org.apache.http.ConnectionReuseStrategy;
@@ -156,7 +157,7 @@ public class NHttpReverseProxy {
HttpAsyncRequester executor = new HttpAsyncRequester(
outhttpproc, new ProxyOutgoingConnectionReuseStrategy(), params);
- ProxyConnPool connPool = new ProxyConnPool(connectingIOReactor, params);
+ ProxyConnPool connPool = new ProxyConnPool(connectingIOReactor, 3, TimeUnit.SECONDS);
connPool.setMaxTotal(100);
connPool.setDefaultMaxPerRoute(20);
@@ -167,10 +168,10 @@ public class NHttpReverseProxy {
inhttpproc, new ProxyIncomingConnectionReuseStrategy(), handlerRegistry, params);
final IOEventDispatch connectingEventDispatch = new DefaultHttpClientIODispatch(
- clientHandler, params);
+ clientHandler);
final IOEventDispatch listeningEventDispatch = new DefaultHttpServerIODispatch(
- serviceHandler, params);
+ serviceHandler);
Thread t = new Thread(new Runnable() {
@@ -847,15 +848,16 @@ public class NHttpReverseProxy {
static class ProxyConnPool extends BasicNIOConnPool {
- public ProxyConnPool(final ConnectingIOReactor ioreactor, final HttpParams params) {
- super(ioreactor, params);
+ public ProxyConnPool(final ConnectingIOReactor ioreactor,
+ int connectTimeout, final TimeUnit tunit) {
+ super(ioreactor, connectTimeout, tunit);
}
public ProxyConnPool(
final ConnectingIOReactor ioreactor,
final NIOConnFactory<HttpHost, NHttpClientConnection> connFactory,
- final HttpParams params) {
- super(ioreactor, connFactory, params);
+ int connectTimeout, final TimeUnit tunit) {
+ super(ioreactor, connFactory, connectTimeout, tunit);
}
@Override
Modified: httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/impl/nio/DefaultHttpClientIODispatch.java
URL: http://svn.apache.org/viewvc/httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/impl/nio/DefaultHttpClientIODispatch.java?rev=1393752&r1=1393751&r2=1393752&view=diff
==============================================================================
--- httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/impl/nio/DefaultHttpClientIODispatch.java (original)
+++ httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/impl/nio/DefaultHttpClientIODispatch.java Wed Oct 3 20:40:02 2012
@@ -69,12 +69,22 @@ public class DefaultHttpClientIODispatch
this.connFactory = Args.notNull(connFactory, "HTTP client connection factory");
}
+ /**
+ * @deprecated (4.3) use {@link DefaultHttpClientIODispatch#DefaultHttpClientIODispatch(
+ * NHttpClientEventHandler)}
+ */
+ @Deprecated
public DefaultHttpClientIODispatch(
final NHttpClientEventHandler handler,
final HttpParams params) {
this(handler, new DefaultNHttpClientConnectionFactory(params));
}
+ /**
+ * @deprecated (4.3) use {@link DefaultHttpClientIODispatch#DefaultHttpClientIODispatch(
+ * NHttpClientEventHandler, SSLContext, SSLSetupHandler)}
+ */
+ @Deprecated
public DefaultHttpClientIODispatch(
final NHttpClientEventHandler handler,
final SSLContext sslcontext,
@@ -83,6 +93,11 @@ public class DefaultHttpClientIODispatch
this(handler, new SSLNHttpClientConnectionFactory(sslcontext, sslHandler, params));
}
+ /**
+ * @deprecated (4.3) use {@link DefaultHttpClientIODispatch#DefaultHttpClientIODispatch(
+ * NHttpClientEventHandler, SSLContext)}
+ */
+ @Deprecated
public DefaultHttpClientIODispatch(
final NHttpClientEventHandler handler,
final SSLContext sslcontext,
@@ -90,6 +105,32 @@ public class DefaultHttpClientIODispatch
this(handler, sslcontext, null, params);
}
+ /**
+ * @since 4.3
+ */
+ public DefaultHttpClientIODispatch(final NHttpClientEventHandler handler) {
+ this(handler, new DefaultNHttpClientConnectionFactory());
+ }
+
+ /**
+ * @since 4.3
+ */
+ public DefaultHttpClientIODispatch(
+ final NHttpClientEventHandler handler,
+ final SSLContext sslcontext,
+ final SSLSetupHandler sslHandler) {
+ this(handler, new SSLNHttpClientConnectionFactory(sslcontext, sslHandler));
+ }
+
+ /**
+ * @since 4.3
+ */
+ public DefaultHttpClientIODispatch(
+ final NHttpClientEventHandler handler,
+ final SSLContext sslcontext) {
+ this(handler, new SSLNHttpClientConnectionFactory(sslcontext, null));
+ }
+
@Override
protected DefaultNHttpClientConnection createConnection(final IOSession session) {
return this.connFactory.createConnection(session);
Modified: httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/impl/nio/DefaultHttpServerIODispatch.java
URL: http://svn.apache.org/viewvc/httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/impl/nio/DefaultHttpServerIODispatch.java?rev=1393752&r1=1393751&r2=1393752&view=diff
==============================================================================
--- httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/impl/nio/DefaultHttpServerIODispatch.java (original)
+++ httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/impl/nio/DefaultHttpServerIODispatch.java Wed Oct 3 20:40:02 2012
@@ -62,12 +62,22 @@ public class DefaultHttpServerIODispatch
this.connFactory = Args.notNull(connFactory, "HTTP server connection factory");
}
+ /**
+ * @deprecated (4.3) use {@link DefaultHttpServerIODispatch#DefaultHttpServerIODispatch(
+ * NHttpServerEventHandler)}
+ */
+ @Deprecated
public DefaultHttpServerIODispatch(
final NHttpServerEventHandler handler,
final HttpParams params) {
this(handler, new DefaultNHttpServerConnectionFactory(params));
}
+ /**
+ * @deprecated (4.3) use {@link DefaultHttpServerIODispatch#DefaultHttpServerIODispatch(
+ * NHttpServerEventHandler, SSLContext, SSLSetupHandler)}
+ */
+ @Deprecated
public DefaultHttpServerIODispatch(
final NHttpServerEventHandler handler,
final SSLContext sslcontext,
@@ -76,6 +86,11 @@ public class DefaultHttpServerIODispatch
this(handler, new SSLNHttpServerConnectionFactory(sslcontext, sslHandler, params));
}
+ /**
+ * @deprecated (4.3) use {@link DefaultHttpServerIODispatch#DefaultHttpServerIODispatch(
+ * NHttpServerEventHandler, SSLContext)}
+ */
+ @Deprecated
public DefaultHttpServerIODispatch(
final NHttpServerEventHandler handler,
final SSLContext sslcontext,
@@ -83,6 +98,32 @@ public class DefaultHttpServerIODispatch
this(handler, sslcontext, null, params);
}
+ /**
+ * @since 4.3
+ */
+ public DefaultHttpServerIODispatch(final NHttpServerEventHandler handler) {
+ this(handler, new DefaultNHttpServerConnectionFactory());
+ }
+
+ /**
+ * @since 4.3
+ */
+ public DefaultHttpServerIODispatch(
+ final NHttpServerEventHandler handler,
+ final SSLContext sslcontext,
+ final SSLSetupHandler sslHandler) {
+ this(handler, new SSLNHttpServerConnectionFactory(sslcontext, sslHandler));
+ }
+
+ /**
+ * @since 4.3
+ */
+ public DefaultHttpServerIODispatch(
+ final NHttpServerEventHandler handler,
+ final SSLContext sslcontext) {
+ this(handler, new SSLNHttpServerConnectionFactory(sslcontext, null));
+ }
+
@Override
protected DefaultNHttpServerConnection createConnection(final IOSession session) {
return this.connFactory.createConnection(session);
Modified: httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/impl/nio/DefaultNHttpClientConnectionFactory.java
URL: http://svn.apache.org/viewvc/httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/impl/nio/DefaultNHttpClientConnectionFactory.java?rev=1393752&r1=1393751&r2=1393752&view=diff
==============================================================================
--- httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/impl/nio/DefaultNHttpClientConnectionFactory.java (original)
+++ httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/impl/nio/DefaultNHttpClientConnectionFactory.java Wed Oct 3 20:40:02 2012
@@ -59,7 +59,7 @@ public class DefaultNHttpClientConnectio
/**
* @deprecated (4.3) use {@link
* DefaultNHttpClientConnectionFactory#DefaultNHttpClientConnectionFactory(
- * ByteBufferAllocator, HttpResponseFactory)}
+ * HttpResponseFactory, ByteBufferAllocator)}
*/
@Deprecated
public DefaultNHttpClientConnectionFactory(
@@ -89,8 +89,8 @@ public class DefaultNHttpClientConnectio
* @since 4.3
*/
public DefaultNHttpClientConnectionFactory(
- final ByteBufferAllocator allocator,
- final HttpResponseFactory responseFactory) {
+ final HttpResponseFactory responseFactory,
+ final ByteBufferAllocator allocator) {
super();
this.responseFactory = responseFactory;
this.allocator = allocator;
Modified: httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/impl/nio/DefaultNHttpServerConnectionFactory.java
URL: http://svn.apache.org/viewvc/httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/impl/nio/DefaultNHttpServerConnectionFactory.java?rev=1393752&r1=1393751&r2=1393752&view=diff
==============================================================================
--- httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/impl/nio/DefaultNHttpServerConnectionFactory.java (original)
+++ httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/impl/nio/DefaultNHttpServerConnectionFactory.java Wed Oct 3 20:40:02 2012
@@ -28,7 +28,6 @@ package org.apache.http.impl.nio;
import org.apache.http.HttpRequest;
import org.apache.http.HttpRequestFactory;
-import org.apache.http.HttpResponseFactory;
import org.apache.http.annotation.Immutable;
import org.apache.http.impl.DefaultHttpRequestFactory;
import org.apache.http.impl.nio.codecs.DefaultHttpRequestParserFactory;
@@ -59,8 +58,8 @@ public class DefaultNHttpServerConnectio
/**
* @deprecated (4.3) use {@link
- * DefaultNHttpClientConnectionFactory#DefaultNHttpClientConnectionFactory(
- * ByteBufferAllocator, HttpResponseFactory)}
+ * DefaultNHttpServerConnectionFactory#DefaultNHttpServerConnectionFactory(
+ * ByteBufferAllocator, HttpRequestFactory)}
*/
@Deprecated
public DefaultNHttpServerConnectionFactory(
@@ -79,8 +78,7 @@ public class DefaultNHttpServerConnectio
/**
* @deprecated (4.3) use {@link
- * DefaultNHttpClientConnectionFactory#DefaultNHttpClientConnectionFactory(
- * ByteBufferAllocator, HttpResponseFactory)}
+ * DefaultNHttpServerConnectionFactory#DefaultNHttpServerConnectionFactory()}
*/
@Deprecated
public DefaultNHttpServerConnectionFactory(final HttpParams params) {
Modified: httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/impl/nio/SSLNHttpClientConnectionFactory.java
URL: http://svn.apache.org/viewvc/httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/impl/nio/SSLNHttpClientConnectionFactory.java?rev=1393752&r1=1393751&r2=1393752&view=diff
==============================================================================
--- httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/impl/nio/SSLNHttpClientConnectionFactory.java (original)
+++ httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/impl/nio/SSLNHttpClientConnectionFactory.java Wed Oct 3 20:40:02 2012
@@ -33,6 +33,7 @@ import org.apache.http.HttpResponseFacto
import org.apache.http.annotation.Immutable;
import org.apache.http.impl.DefaultHttpResponseFactory;
import org.apache.http.impl.nio.codecs.DefaultHttpResponseParserFactory;
+import org.apache.http.message.BasicLineParser;
import org.apache.http.nio.NHttpClientConnection;
import org.apache.http.nio.NHttpConnectionFactory;
import org.apache.http.nio.NHttpMessageParserFactory;
@@ -122,8 +123,10 @@ public class SSLNHttpClientConnectionFac
this.sslcontext = sslcontext;
this.sslHandler = sslHandler;
this.responseFactory = responseFactory;
- this.allocator = allocator;
- this.responseParserFactory = new DefaultHttpResponseParserFactory(null, responseFactory);
+ this.allocator = allocator != null ? allocator : HeapByteBufferAllocator.INSTANCE;
+ this.responseParserFactory = new DefaultHttpResponseParserFactory(
+ BasicLineParser.INSTANCE,
+ responseFactory != null ? responseFactory : DefaultHttpResponseFactory.INSTANCE);
this.params = null;
}
Modified: httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/impl/nio/SSLNHttpServerConnectionFactory.java
URL: http://svn.apache.org/viewvc/httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/impl/nio/SSLNHttpServerConnectionFactory.java?rev=1393752&r1=1393751&r2=1393752&view=diff
==============================================================================
--- httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/impl/nio/SSLNHttpServerConnectionFactory.java (original)
+++ httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/impl/nio/SSLNHttpServerConnectionFactory.java Wed Oct 3 20:40:02 2012
@@ -30,7 +30,6 @@ import javax.net.ssl.SSLContext;
import org.apache.http.HttpRequest;
import org.apache.http.HttpRequestFactory;
-import org.apache.http.HttpResponseFactory;
import org.apache.http.annotation.Immutable;
import org.apache.http.impl.DefaultHttpRequestFactory;
import org.apache.http.impl.nio.codecs.DefaultHttpRequestParserFactory;
@@ -66,8 +65,8 @@ public class SSLNHttpServerConnectionFac
/**
* @deprecated (4.3) use {@link
- * DefaultNHttpClientConnectionFactory#DefaultNHttpClientConnectionFactory(
- * ByteBufferAllocator, HttpResponseFactory)}
+ * SSLNHttpServerConnectionFactory#SSLNHttpServerConnectionFactory(SSLContext,
+ * SSLSetupHandler, HttpRequestFactory, ByteBufferAllocator)}
*/
@Deprecated
public SSLNHttpServerConnectionFactory(
@@ -90,8 +89,8 @@ public class SSLNHttpServerConnectionFac
/**
* @deprecated (4.3) use {@link
- * DefaultNHttpClientConnectionFactory#DefaultNHttpClientConnectionFactory(
- * ByteBufferAllocator, HttpResponseFactory)}
+ * SSLNHttpServerConnectionFactory#SSLNHttpServerConnectionFactory(SSLContext,
+ * SSLSetupHandler)}
*/
@Deprecated
public SSLNHttpServerConnectionFactory(
@@ -104,8 +103,7 @@ public class SSLNHttpServerConnectionFac
/**
* @deprecated (4.3) use {@link
- * DefaultNHttpClientConnectionFactory#DefaultNHttpClientConnectionFactory(
- * ByteBufferAllocator, HttpResponseFactory)}
+ * SSLNHttpServerConnectionFactory#SSLNHttpServerConnectionFactory()}
*/
@Deprecated
public SSLNHttpServerConnectionFactory(final HttpParams params) {
Modified: httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/impl/nio/pool/BasicNIOConnFactory.java
URL: http://svn.apache.org/viewvc/httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/impl/nio/pool/BasicNIOConnFactory.java?rev=1393752&r1=1393751&r2=1393752&view=diff
==============================================================================
--- httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/impl/nio/pool/BasicNIOConnFactory.java (original)
+++ httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/impl/nio/pool/BasicNIOConnFactory.java Wed Oct 3 20:40:02 2012
@@ -50,15 +50,6 @@ import org.apache.http.util.Args;
/**
* A basic {@link NIOConnFactory} implementation that creates
* {@link NHttpClientConnection} instances given a {@link HttpHost} instance.
- * <p>
- * The following parameters can be used to customize the behavior of this
- * class:
- * <ul>
- * <li>{@link org.apache.http.params.CoreProtocolPNames#HTTP_ELEMENT_CHARSET}</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>
- * </ul>
*
* @since 4.2
*/
@@ -82,6 +73,11 @@ public class BasicNIOConnFactory impleme
this(plainFactory, null);
}
+ /**
+ * @deprecated (4.3) use {@link BasicNIOConnFactory#BasicNIOConnFactory(SSLContext,
+ * SSLSetupHandler, HttpResponseFactory, ByteBufferAllocator)}
+ */
+ @Deprecated
public BasicNIOConnFactory(
final SSLContext sslcontext,
final SSLSetupHandler sslHandler,
@@ -94,6 +90,10 @@ public class BasicNIOConnFactory impleme
sslcontext, sslHandler, responseFactory, allocator, params));
}
+ /**
+ * @deprecated (4.3) use {@link BasicNIOConnFactory#BasicNIOConnFactory(SSLContext,
+ * SSLSetupHandler)}
+ */
public BasicNIOConnFactory(
final SSLContext sslcontext,
final SSLSetupHandler sslHandler,
@@ -102,10 +102,42 @@ public class BasicNIOConnFactory impleme
DefaultHttpResponseFactory.INSTANCE, HeapByteBufferAllocator.INSTANCE, params);
}
+ /**
+ * @deprecated (4.3) use {@link BasicNIOConnFactory#BasicNIOConnFactory()}
+ */
public BasicNIOConnFactory(final HttpParams params) {
this(null, null, params);
}
+ /**
+ * @since 4.3
+ */
+ public BasicNIOConnFactory(
+ final SSLContext sslcontext,
+ final SSLSetupHandler sslHandler,
+ final HttpResponseFactory responseFactory,
+ final ByteBufferAllocator allocator) {
+ this(new DefaultNHttpClientConnectionFactory(responseFactory, allocator),
+ new SSLNHttpClientConnectionFactory(sslcontext, sslHandler, responseFactory,
+ allocator));
+ }
+
+ /**
+ * @since 4.3
+ */
+ public BasicNIOConnFactory(
+ final SSLContext sslcontext,
+ final SSLSetupHandler sslHandler) {
+ this(sslcontext, sslHandler, null, null);
+ }
+
+ /**
+ * @since 4.3
+ */
+ public BasicNIOConnFactory() {
+ this(new DefaultNHttpClientConnectionFactory(null, null), null);
+ }
+
public NHttpClientConnection create(final HttpHost route, final IOSession session) throws IOException {
NHttpClientConnection conn;
if (route.getSchemeName().equalsIgnoreCase("https")) {
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=1393752&r1=1393751&r2=1393752&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 Wed Oct 3 20:40:02 2012
@@ -51,17 +51,6 @@ import org.apache.http.util.Args;
* an {@link HttpHost} instance. Please note this pool implementation
* does not support complex routes via a proxy cannot differentiate between
* direct and proxied connections.
- * <p>
- * The following parameters can be used to customize the behavior of this
- * 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#CONNECTION_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>
- * </ul>
*
* @see HttpHost
* @since 4.2
@@ -71,22 +60,71 @@ public class BasicNIOConnPool extends Ab
private static AtomicLong COUNTER = new AtomicLong();
- private final HttpParams params;
+ private final int connectTimeout;
+ private final TimeUnit tunit;
+ /**
+ * @deprecated (4.3) use {@link BasicNIOConnPool#BasicNIOConnPool(ConnectingIOReactor,
+ * NIOConnFactory, int, TimeUnit)}
+ */
+ @Deprecated
public BasicNIOConnPool(
final ConnectingIOReactor ioreactor,
final NIOConnFactory<HttpHost, NHttpClientConnection> connFactory,
final HttpParams params) {
super(ioreactor, connFactory, 2, 20);
Args.notNull(params, "HTTP parameters");
- this.params = params;
+ this.connectTimeout = Config.getInt(params, CoreConnectionPNames.CONNECTION_TIMEOUT, 0);
+ this.tunit = TimeUnit.MILLISECONDS;
}
+ /**
+ * @deprecated (4.3) use {@link BasicNIOConnPool#BasicNIOConnPool(ConnectingIOReactor,
+ * int, TimeUnit)}
+ */
+ @Deprecated
public BasicNIOConnPool(
final ConnectingIOReactor ioreactor, final HttpParams params) {
this(ioreactor, new BasicNIOConnFactory(params), params);
}
+ /**
+ * @since 4.3
+ */
+ public BasicNIOConnPool(
+ final ConnectingIOReactor ioreactor,
+ final NIOConnFactory<HttpHost, NHttpClientConnection> connFactory,
+ int connectTimeout,
+ final TimeUnit tunit) {
+ super(ioreactor, connFactory, 2, 20);
+ this.connectTimeout = connectTimeout;
+ this.tunit = tunit != null ? tunit : TimeUnit.MILLISECONDS;
+ }
+
+ /**
+ * @since 4.3
+ */
+ public BasicNIOConnPool(
+ final ConnectingIOReactor ioreactor,
+ final NIOConnFactory<HttpHost, NHttpClientConnection> connFactory) {
+ this(ioreactor, connFactory, 0, TimeUnit.MILLISECONDS);
+ }
+
+ /**
+ * @since 4.3
+ */
+ public BasicNIOConnPool(
+ final ConnectingIOReactor ioreactor, int connectTimeout, final TimeUnit tunit) {
+ this(ioreactor, new BasicNIOConnFactory(), connectTimeout, tunit);
+ }
+
+ /**
+ * @since 4.3
+ */
+ public BasicNIOConnPool(final ConnectingIOReactor ioreactor) {
+ this(ioreactor, new BasicNIOConnFactory(), 0, TimeUnit.MILLISECONDS);
+ }
+
@Override
protected SocketAddress resolveRemoteAddress(final HttpHost host) {
return new InetSocketAddress(host.getHostName(), host.getPort());
@@ -107,16 +145,14 @@ public class BasicNIOConnPool extends Ab
final HttpHost route,
final Object state,
final FutureCallback<BasicNIOPoolEntry> callback) {
- int connectTimeout = Config.getInt(params, CoreConnectionPNames.CONNECTION_TIMEOUT, 0);
- return super.lease(route, state, connectTimeout, TimeUnit.MILLISECONDS, callback);
+ return super.lease(route, state, this.connectTimeout, this.tunit, callback);
}
@Override
public Future<BasicNIOPoolEntry> lease(
final HttpHost route,
final Object state) {
- int connectTimeout = Config.getInt(params, CoreConnectionPNames.CONNECTION_TIMEOUT, 0);
- return super.lease(route, state, connectTimeout, TimeUnit.MILLISECONDS, null);
+ return super.lease(route, state, this.connectTimeout, this.tunit, null);
}
}
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=1393752&r1=1393751&r2=1393752&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 Wed Oct 3 20:40:02 2012
@@ -30,8 +30,6 @@ import org.apache.http.HttpHost;
import org.apache.http.nio.NHttpClientConnection;
import org.apache.http.nio.reactor.ConnectingIOReactor;
import org.apache.http.nio.reactor.IOSession;
-import org.apache.http.params.BasicHttpParams;
-import org.apache.http.params.HttpParams;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
@@ -40,7 +38,6 @@ import org.mockito.MockitoAnnotations;
public class TestBasicNIOConnPool {
- private HttpParams params;
private BasicNIOConnFactory connFactory;
private BasicNIOConnPool pool;
private HttpHost route;
@@ -52,9 +49,8 @@ public class TestBasicNIOConnPool {
MockitoAnnotations.initMocks(this);
route = new HttpHost("localhost", 80, "http");
- params = new BasicHttpParams();
- connFactory = new BasicNIOConnFactory(params);
- pool = new BasicNIOConnPool(reactor, connFactory, params);
+ connFactory = new BasicNIOConnFactory();
+ pool = new BasicNIOConnPool(reactor, connFactory);
}
@After
@@ -63,12 +59,7 @@ public class TestBasicNIOConnPool {
@Test(expected=IllegalArgumentException.class)
public void testNullConstructor() throws Exception {
- pool = new BasicNIOConnPool(null, new BasicHttpParams());
- }
-
- @Test(expected=IllegalArgumentException.class)
- public void testNullConstructor2() throws Exception {
- pool = new BasicNIOConnPool(reactor, null);
+ pool = new BasicNIOConnPool(null);
}
@Test
Modified: httpcomponents/httpcore/trunk/httpcore-nio/src/test/java/org/apache/http/impl/nio/reactor/TestDefaultListeningIOReactor.java
URL: http://svn.apache.org/viewvc/httpcomponents/httpcore/trunk/httpcore-nio/src/test/java/org/apache/http/impl/nio/reactor/TestDefaultListeningIOReactor.java?rev=1393752&r1=1393751&r2=1393752&view=diff
==============================================================================
--- httpcomponents/httpcore/trunk/httpcore-nio/src/test/java/org/apache/http/impl/nio/reactor/TestDefaultListeningIOReactor.java (original)
+++ httpcomponents/httpcore/trunk/httpcore-nio/src/test/java/org/apache/http/impl/nio/reactor/TestDefaultListeningIOReactor.java Wed Oct 3 20:40:02 2012
@@ -73,7 +73,7 @@ public class TestDefaultListeningIOReact
DefaultConnectionReuseStrategy.INSTANCE,
new UriHttpAsyncRequestHandlerMapper(),
params);
- return new DefaultHttpServerIODispatch(serviceHandler, params);
+ return new DefaultHttpServerIODispatch(serviceHandler);
}
@Test
Modified: httpcomponents/httpcore/trunk/httpcore-nio/src/test/java/org/apache/http/testserver/HttpCoreNIOTestBase.java
URL: http://svn.apache.org/viewvc/httpcomponents/httpcore/trunk/httpcore-nio/src/test/java/org/apache/http/testserver/HttpCoreNIOTestBase.java?rev=1393752&r1=1393751&r2=1393752&view=diff
==============================================================================
--- httpcomponents/httpcore/trunk/httpcore-nio/src/test/java/org/apache/http/testserver/HttpCoreNIOTestBase.java (original)
+++ httpcomponents/httpcore/trunk/httpcore-nio/src/test/java/org/apache/http/testserver/HttpCoreNIOTestBase.java Wed Oct 3 20:40:02 2012
@@ -108,8 +108,7 @@ public abstract class HttpCoreNIOTestBas
public void initConnPool() throws Exception {
this.connpool = new BasicNIOConnPool(
this.client.getIoReactor(),
- new BasicNIOConnFactory(createClientConnectionFactory()),
- this.clientParams);
+ new BasicNIOConnFactory(createClientConnectionFactory()));
this.executor = new HttpAsyncRequester(
this.clientHttpProc,
DefaultConnectionReuseStrategy.INSTANCE,