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/09/03 15:55:28 UTC

svn commit: r1164865 - in /httpcomponents/httpcore/trunk/httpcore-nio/src: main/java/org/apache/http/impl/nio/ main/java/org/apache/http/impl/nio/pool/ main/java/org/apache/http/impl/nio/ssl/ test/java/org/apache/http/impl/nio/reactor/ test/java/org/ap...

Author: olegk
Date: Sat Sep  3 13:55:27 2011
New Revision: 1164865

URL: http://svn.apache.org/viewvc?rev=1164865&view=rev
Log:
Deprecated old I/O dispatch implementation in favor of new ones based on AbstractIODispatch

Added:
    httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/impl/nio/DefaultClientIODispatch.java
      - copied, changed from r1164465, 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/DefaultServerIODispatch.java
      - copied, changed from r1164465, httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/impl/nio/DefaultServerIOEventDispatch.java
Modified:
    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/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/DefaultServerIOEventDispatch.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/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/test/java/org/apache/http/impl/nio/reactor/TestDefaultListeningIOReactor.java
    httpcomponents/httpcore/trunk/httpcore-nio/src/test/java/org/apache/http/nio/protocol/TestTruncatedChunks.java
    httpcomponents/httpcore/trunk/httpcore-nio/src/test/java/org/apache/http/testserver/HttpClientNio.java
    httpcomponents/httpcore/trunk/httpcore-nio/src/test/java/org/apache/http/testserver/HttpSSLClient.java
    httpcomponents/httpcore/trunk/httpcore-nio/src/test/java/org/apache/http/testserver/HttpSSLServer.java
    httpcomponents/httpcore/trunk/httpcore-nio/src/test/java/org/apache/http/testserver/HttpServerNio.java

Copied: httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/impl/nio/DefaultClientIODispatch.java (from r1164465, 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/DefaultClientIODispatch.java?p2=httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/impl/nio/DefaultClientIODispatch.java&p1=httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/impl/nio/DefaultClientIOEventDispatch.java&r1=1164465&r2=1164865&rev=1164865&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/DefaultClientIODispatch.java Sat Sep  3 13:55:27 2011
@@ -29,142 +29,96 @@ package org.apache.http.impl.nio;
 
 import java.io.IOException;
 
-import org.apache.http.HttpResponse;
-import org.apache.http.HttpResponseFactory;
+import javax.net.ssl.SSLContext;
+
 import org.apache.http.annotation.Immutable;
-import org.apache.http.impl.DefaultHttpResponseFactory;
-import org.apache.http.nio.NHttpClientIOTarget;
 import org.apache.http.nio.NHttpClientHandler;
+import org.apache.http.nio.NHttpClientIOTarget;
+import org.apache.http.nio.NHttpConnectionFactory;
 import org.apache.http.nio.reactor.IOEventDispatch;
 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.nio.reactor.ssl.SSLSetupHandler;
 import org.apache.http.params.HttpParams;
 
 /**
- * Default implementation of {@link IOEventDispatch} interface for plain
- * (unencrypted) client-side HTTP 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#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>
+ * Default {@link IOEventDispatch} implementation that supports both plain (non-encrypted)
+ * and SSL encrypted HTTP connections.
  *
- * @since 4.0
+ * @since 4.2
  */
 @Immutable // provided injected dependencies are immutable
-public class DefaultClientIOEventDispatch extends AbstractIODispatch<NHttpClientIOTarget> {
+public class DefaultClientIODispatch extends AbstractIODispatch<NHttpClientIOTarget> {
 
-    protected final NHttpClientHandler handler;
-    protected final ByteBufferAllocator allocator;
-    protected final HttpParams params;
+    private final NHttpClientHandler handler;
+    private final NHttpConnectionFactory<NHttpClientIOTarget> connFactory;
 
     /**
      * Creates a new instance of this class to be used for dispatching I/O event
      * notifications to the given protocol handler.
      *
      * @param handler the client protocol handler.
-     * @param params HTTP parameters.
+     * @param connFactory HTTP client connection factory.
      */
-    public DefaultClientIOEventDispatch(
+    public DefaultClientIODispatch(
             final NHttpClientHandler handler,
-            final HttpParams params) {
+            final NHttpConnectionFactory<NHttpClientIOTarget> connFactory) {
         super();
         if (handler == null) {
             throw new IllegalArgumentException("HTTP client handler may not be null");
         }
-        if (params == null) {
-            throw new IllegalArgumentException("HTTP parameters may not be null");
+        if (connFactory == null) {
+            throw new IllegalArgumentException("HTTP client connection factory may not null");
         }
-        this.allocator = createByteBufferAllocator();
         this.handler = handler;
-        this.params = params;
+        this.connFactory = connFactory;
     }
 
-    /**
-     * Creates an instance of {@link HeapByteBufferAllocator} to be used
-     * by HTTP connections for allocating {@link java.nio.ByteBuffer} objects.
-     * <p>
-     * This method can be overridden in a super class in order to provide
-     * a different implementation of the {@link ByteBufferAllocator} interface.
-     *
-     * @return byte buffer allocator.
-     */
-    protected ByteBufferAllocator createByteBufferAllocator() {
-        return new HeapByteBufferAllocator();
+    public DefaultClientIODispatch(final NHttpClientHandler handler, final HttpParams params) {
+        this(handler, new DefaultNHttpClientConnectionFactory(params));
     }
 
-    /**
-     * Creates an instance of {@link DefaultHttpResponseFactory} to be used
-     * by HTTP connections for creating {@link HttpResponse} objects.
-     * <p>
-     * This method can be overridden in a super class in order to provide
-     * a different implementation of the {@link HttpResponseFactory} interface.
-     *
-     * @return HTTP response factory.
-     */
-    protected HttpResponseFactory createHttpResponseFactory() {
-        return new DefaultHttpResponseFactory();
+    public DefaultClientIODispatch(
+            final NHttpClientHandler handler,
+            final SSLContext sslcontext,
+            final SSLSetupHandler sslHandler,
+            final HttpParams params) {
+        this(handler, new SSLNHttpClientConnectionFactory(sslcontext, sslHandler, params));
     }
 
-    /**
-     * Creates an instance of {@link DefaultNHttpClientConnection} based on the
-     * given {@link IOSession}.
-     * <p>
-     * This method can be overridden in a super class in order to provide
-     * a different implementation of the {@link NHttpClientIOTarget} interface.
-     *
-     * @param session the underlying I/O session.
-     *
-     * @return newly created HTTP connection.
-     */
     @Override
-	protected NHttpClientIOTarget createConnection(final IOSession session) {
-        return new DefaultNHttpClientConnection(
-                session,
-                createHttpResponseFactory(),
-                this.allocator,
-                this.params);
+    protected NHttpClientIOTarget createConnection(final IOSession session) {
+        return this.connFactory.createConnection(session);
     }
 
     @Override
-	protected void onConnected(final NHttpClientIOTarget conn) {
-        int timeout = HttpConnectionParams.getSoTimeout(this.params);
-        conn.setSocketTimeout(timeout);
-
+    protected void onConnected(final NHttpClientIOTarget conn) {
         Object attachment = conn.getContext().getAttribute(IOSession.ATTACHMENT_KEY);
         this.handler.connected(conn, attachment);
-	}
+    }
 
     @Override
-	protected void onClosed(final NHttpClientIOTarget conn) {
+    protected void onClosed(final NHttpClientIOTarget conn) {
         this.handler.closed(conn);
-	}
+    }
 
-	@Override
-	protected void onException(final NHttpClientIOTarget conn, IOException ex) {
+    @Override
+    protected void onException(final NHttpClientIOTarget conn, IOException ex) {
         this.handler.exception(conn, ex);
-	}
+    }
 
-	@Override
-	protected void onInputReady(final NHttpClientIOTarget conn) {
+    @Override
+    protected void onInputReady(final NHttpClientIOTarget conn) {
         conn.consumeInput(this.handler);
-	}
+    }
 
-	@Override
-	protected void onOutputReady(final NHttpClientIOTarget conn) {
+    @Override
+    protected void onOutputReady(final NHttpClientIOTarget conn) {
         conn.produceOutput(this.handler);
-	}
+    }
 
-	@Override
-	protected void onTimeout(final NHttpClientIOTarget conn) {
+    @Override
+    protected void onTimeout(final NHttpClientIOTarget conn) {
         this.handler.timeout(conn);
-	}
+    }
 
 }

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=1164865&r1=1164864&r2=1164865&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 Sat Sep  3 13:55:27 2011
@@ -57,7 +57,10 @@ import org.apache.http.params.HttpParams
  * </ul>
  *
  * @since 4.0
+ *
+ * @deprecated use {@link DefaultClientIODispatch}
  */
+@Deprecated
 @Immutable // provided injected dependencies are immutable
 public class DefaultClientIOEventDispatch extends AbstractIODispatch<NHttpClientIOTarget> {
 

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=1164865&r1=1164864&r2=1164865&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 Sat Sep  3 13:55:27 2011
@@ -30,10 +30,12 @@ import org.apache.http.HttpResponseFacto
 import org.apache.http.annotation.Immutable;
 import org.apache.http.impl.DefaultHttpResponseFactory;
 import org.apache.http.nio.NHttpClientConnection;
+import org.apache.http.nio.NHttpClientIOTarget;
 import org.apache.http.nio.NHttpConnectionFactory;
 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;
 
 /**
@@ -43,6 +45,7 @@ import org.apache.http.params.HttpParams
  * 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>
@@ -51,7 +54,7 @@ import org.apache.http.params.HttpParams
  * @since 4.2
  */
 @Immutable
-public class DefaultNHttpClientConnectionFactory implements NHttpConnectionFactory<NHttpClientConnection> {
+public class DefaultNHttpClientConnectionFactory implements NHttpConnectionFactory<NHttpClientIOTarget> {
 
     private final HttpResponseFactory responseFactory;
     private final ByteBufferAllocator allocator;
@@ -80,7 +83,7 @@ public class DefaultNHttpClientConnectio
         this(new DefaultHttpResponseFactory(), new HeapByteBufferAllocator(), params);
     }
 
-    protected NHttpClientConnection createConnection(
+    protected NHttpClientIOTarget createConnection(
             final IOSession session,
             final HttpResponseFactory responseFactory,
             final ByteBufferAllocator allocator,
@@ -88,8 +91,11 @@ public class DefaultNHttpClientConnectio
         return new DefaultNHttpClientConnection(session, responseFactory, allocator, params);
     }
 
-    public NHttpClientConnection createConnection(final IOSession session) {
-        return createConnection(session, this.responseFactory, this.allocator, this.params);
+    public NHttpClientIOTarget createConnection(final IOSession session) {
+        NHttpClientIOTarget conn = createConnection(session, this.responseFactory, this.allocator, this.params);
+        int timeout = HttpConnectionParams.getSoTimeout(this.params);
+        conn.setSocketTimeout(timeout);
+        return conn;
     }
 
 }

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=1164865&r1=1164864&r2=1164865&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 Sat Sep  3 13:55:27 2011
@@ -31,9 +31,11 @@ import org.apache.http.annotation.Immuta
 import org.apache.http.impl.DefaultHttpRequestFactory;
 import org.apache.http.nio.NHttpConnectionFactory;
 import org.apache.http.nio.NHttpServerConnection;
+import org.apache.http.nio.NHttpServerIOTarget;
 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;
 
 /**
@@ -43,6 +45,7 @@ import org.apache.http.params.HttpParams
  * 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>
@@ -51,7 +54,7 @@ import org.apache.http.params.HttpParams
  * @since 4.2
  */
 @Immutable
-public class DefaultNHttpServerConnectionFactory implements NHttpConnectionFactory<NHttpServerConnection> {
+public class DefaultNHttpServerConnectionFactory implements NHttpConnectionFactory<NHttpServerIOTarget> {
 
     private final HttpRequestFactory requestFactory;
     private final ByteBufferAllocator allocator;
@@ -80,7 +83,7 @@ public class DefaultNHttpServerConnectio
         this(new DefaultHttpRequestFactory(), new HeapByteBufferAllocator(), params);
     }
 
-    protected NHttpServerConnection createConnection(
+    protected NHttpServerIOTarget createConnection(
             final IOSession session,
             final HttpRequestFactory requestFactory,
             final ByteBufferAllocator allocator,
@@ -88,8 +91,12 @@ public class DefaultNHttpServerConnectio
         return new DefaultNHttpServerConnection(session, requestFactory, allocator, params);
     }
 
-    public NHttpServerConnection createConnection(final IOSession session) {
-        return createConnection(session, this.requestFactory, this.allocator, this.params);
+    public NHttpServerIOTarget createConnection(final IOSession session) {
+        NHttpServerIOTarget conn = createConnection(
+                session, this.requestFactory, this.allocator, this.params);
+        int timeout = HttpConnectionParams.getSoTimeout(this.params);
+        conn.setSocketTimeout(timeout);
+        return conn;
     }
 
 }

Copied: httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/impl/nio/DefaultServerIODispatch.java (from r1164465, 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/DefaultServerIODispatch.java?p2=httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/impl/nio/DefaultServerIODispatch.java&p1=httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/impl/nio/DefaultServerIOEventDispatch.java&r1=1164465&r2=1164865&rev=1164865&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/DefaultServerIODispatch.java Sat Sep  3 13:55:27 2011
@@ -29,114 +29,62 @@ package org.apache.http.impl.nio;
 
 import java.io.IOException;
 
-import org.apache.http.HttpRequest;
-import org.apache.http.HttpRequestFactory;
+import javax.net.ssl.SSLContext;
+
 import org.apache.http.annotation.Immutable;
-import org.apache.http.impl.DefaultHttpRequestFactory;
+import org.apache.http.nio.NHttpConnectionFactory;
 import org.apache.http.nio.NHttpServerIOTarget;
 import org.apache.http.nio.NHttpServiceHandler;
 import org.apache.http.nio.reactor.IOEventDispatch;
 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.nio.reactor.ssl.SSLSetupHandler;
 import org.apache.http.params.HttpParams;
 
 /**
  * Default implementation of {@link IOEventDispatch} interface for plain
- * (unencrypted) server-side HTTP 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#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>
+ * (non-encrypted) server-side HTTP connections.
  *
- * @since 4.0
+ * @since 4.2
  */
 @Immutable // provided injected dependencies are immutable
-public class DefaultServerIOEventDispatch extends AbstractIODispatch<NHttpServerIOTarget> {
+public class DefaultServerIODispatch extends AbstractIODispatch<NHttpServerIOTarget> {
+
+    private final NHttpServiceHandler handler;
+    private final NHttpConnectionFactory<NHttpServerIOTarget> connFactory;
 
-    protected final ByteBufferAllocator allocator;
-    protected final NHttpServiceHandler handler;
-    protected final HttpParams params;
-
-    /**
-     * Creates a new instance of this class to be used for dispatching I/O event
-     * notifications to the given protocol handler.
-     *
-     * @param handler the server protocol handler.
-     * @param params HTTP parameters.
-     */
-     public DefaultServerIOEventDispatch(
+    public DefaultServerIODispatch(
             final NHttpServiceHandler handler,
-            final HttpParams params) {
+            final NHttpConnectionFactory<NHttpServerIOTarget> connFactory) {
         super();
         if (handler == null) {
-            throw new IllegalArgumentException("HTTP service handler may not be null");
+            throw new IllegalArgumentException("HTTP client handler may not be null");
         }
-        if (params == null) {
-            throw new IllegalArgumentException("HTTP parameters may not be null");
+        if (connFactory == null) {
+            throw new IllegalArgumentException("HTTP server connection factory is null");
         }
-        this.allocator = createByteBufferAllocator();
         this.handler = handler;
-        this.params = params;
+        this.connFactory = connFactory;
     }
 
-   /**
-    * Creates an instance of {@link HeapByteBufferAllocator} to be used
-    * by HTTP connections for allocating {@link java.nio.ByteBuffer} objects.
-    * <p>
-    * This method can be overridden in a super class in order to provide
-    * a different implementation of the {@link ByteBufferAllocator} interface.
-    *
-    * @return byte buffer allocator.
-    */
-    protected ByteBufferAllocator createByteBufferAllocator() {
-        return new HeapByteBufferAllocator();
+    public DefaultServerIODispatch(final NHttpServiceHandler handler, final HttpParams params) {
+        this(handler, new DefaultNHttpServerConnectionFactory(params));
     }
 
-    /**
-     * Creates an instance of {@link DefaultHttpRequestFactory} to be used
-     * by HTTP connections for creating {@link HttpRequest} objects.
-     * <p>
-     * This method can be overridden in a super class in order to provide
-     * a different implementation of the {@link HttpRequestFactory} interface.
-     *
-     * @return HTTP request factory.
-     */
-    protected HttpRequestFactory createHttpRequestFactory() {
-        return new DefaultHttpRequestFactory();
+    public DefaultServerIODispatch(
+            final NHttpServiceHandler handler,
+            final SSLContext sslcontext,
+            final SSLSetupHandler sslHandler,
+            final HttpParams params) {
+        this(handler, new SSLNHttpServerConnectionFactory(sslcontext, sslHandler, params));
     }
 
-    /**
-     * Creates an instance of {@link DefaultNHttpServerConnection} based on the
-     * given {@link IOSession}.
-     * <p>
-     * This method can be overridden in a super class in order to provide
-     * a different implementation of the {@link NHttpServerIOTarget} interface.
-     *
-     * @param session the underlying I/O session.
-     *
-     * @return newly created HTTP connection.
-     */
     @Override
-	protected NHttpServerIOTarget createConnection(final IOSession session) {
-        return new DefaultNHttpServerConnection(
-                session,
-                createHttpRequestFactory(),
-                this.allocator,
-                this.params);
+    protected NHttpServerIOTarget createConnection(final IOSession session) {
+        return this.connFactory.createConnection(session);
     }
 
     @Override
     protected void onConnected(final NHttpServerIOTarget conn) {
-        int timeout = HttpConnectionParams.getSoTimeout(this.params);
-        conn.setSocketTimeout(timeout);
         this.handler.connected(conn);
     }
 

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=1164865&r1=1164864&r2=1164865&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 Sat Sep  3 13:55:27 2011
@@ -57,7 +57,10 @@ import org.apache.http.params.HttpParams
  * </ul>
  *
  * @since 4.0
+ *
+ * @deprecated use {@link DefaultServerIODispatch}
  */
+@Deprecated
 @Immutable // provided injected dependencies are immutable
 public class DefaultServerIOEventDispatch extends AbstractIODispatch<NHttpServerIOTarget> {
 

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=1164865&r1=1164864&r2=1164865&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 Sat Sep  3 13:55:27 2011
@@ -32,6 +32,7 @@ import org.apache.http.HttpResponseFacto
 import org.apache.http.annotation.Immutable;
 import org.apache.http.impl.DefaultHttpResponseFactory;
 import org.apache.http.nio.NHttpClientConnection;
+import org.apache.http.nio.NHttpClientIOTarget;
 import org.apache.http.nio.NHttpConnectionFactory;
 import org.apache.http.nio.reactor.IOSession;
 import org.apache.http.nio.reactor.ssl.SSLIOSession;
@@ -39,6 +40,7 @@ import org.apache.http.nio.reactor.ssl.S
 import org.apache.http.nio.reactor.ssl.SSLSetupHandler;
 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;
 
 /**
@@ -48,6 +50,7 @@ import org.apache.http.params.HttpParams
  * 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>
@@ -56,7 +59,7 @@ import org.apache.http.params.HttpParams
  * @since 4.2
  */
 @Immutable
-public class SSLNHttpClientConnectionFactory implements NHttpConnectionFactory<NHttpClientConnection> {
+public class SSLNHttpClientConnectionFactory implements NHttpConnectionFactory<NHttpClientIOTarget> {
 
     private final HttpResponseFactory responseFactory;
     private final ByteBufferAllocator allocator;
@@ -109,7 +112,7 @@ public class SSLNHttpClientConnectionFac
         return sslcontext;
     }
 
-    protected NHttpClientConnection createConnection(
+    protected NHttpClientIOTarget createConnection(
             final IOSession session,
             final HttpResponseFactory responseFactory,
             final ByteBufferAllocator allocator,
@@ -117,11 +120,15 @@ public class SSLNHttpClientConnectionFac
         return new DefaultNHttpClientConnection(session, responseFactory, allocator, params);
     }
 
-    public NHttpClientConnection createConnection(final IOSession session) {
+    public NHttpClientIOTarget createConnection(final IOSession session) {
         SSLContext sslcontext = this.sslcontext != null ? this.sslcontext : getDefaultSSLContext();
         SSLIOSession ssliosession = new SSLIOSession(session, SSLMode.CLIENT, sslcontext, this.sslHandler);
         session.setAttribute(SSLIOSession.SESSION_KEY, ssliosession);
-        return createConnection(ssliosession, this.responseFactory, this.allocator, this.params);
+        NHttpClientIOTarget conn = createConnection(
+                ssliosession, this.responseFactory, this.allocator, this.params);
+        int timeout = HttpConnectionParams.getSoTimeout(this.params);
+        conn.setSocketTimeout(timeout);
+        return conn;
     }
 
 }

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=1164865&r1=1164864&r2=1164865&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 Sat Sep  3 13:55:27 2011
@@ -33,12 +33,14 @@ import org.apache.http.annotation.Immuta
 import org.apache.http.impl.DefaultHttpRequestFactory;
 import org.apache.http.nio.NHttpConnectionFactory;
 import org.apache.http.nio.NHttpServerConnection;
+import org.apache.http.nio.NHttpServerIOTarget;
 import org.apache.http.nio.reactor.IOSession;
 import org.apache.http.nio.reactor.ssl.SSLIOSession;
 import org.apache.http.nio.reactor.ssl.SSLMode;
 import org.apache.http.nio.reactor.ssl.SSLSetupHandler;
 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;
 
 /**
@@ -48,6 +50,7 @@ import org.apache.http.params.HttpParams
  * 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>
@@ -56,7 +59,7 @@ import org.apache.http.params.HttpParams
  * @since 4.2
  */
 @Immutable
-public class SSLNHttpServerConnectionFactory implements NHttpConnectionFactory<NHttpServerConnection> {
+public class SSLNHttpServerConnectionFactory implements NHttpConnectionFactory<NHttpServerIOTarget> {
 
     private final HttpRequestFactory requestFactory;
     private final ByteBufferAllocator allocator;
@@ -109,7 +112,7 @@ public class SSLNHttpServerConnectionFac
         return sslcontext;
     }
 
-    protected NHttpServerConnection createConnection(
+    protected NHttpServerIOTarget createConnection(
             final IOSession session,
             final HttpRequestFactory requestFactory,
             final ByteBufferAllocator allocator,
@@ -117,11 +120,15 @@ public class SSLNHttpServerConnectionFac
         return new DefaultNHttpServerConnection(session, requestFactory, allocator, params);
     }
 
-    public NHttpServerConnection createConnection(final IOSession session) {
+    public NHttpServerIOTarget createConnection(final IOSession session) {
         SSLContext sslcontext = this.sslcontext != null ? this.sslcontext : getDefaultSSLContext();
-        SSLIOSession ssliosession = new SSLIOSession(session, SSLMode.CLIENT, sslcontext, this.sslHandler);
+        SSLIOSession ssliosession = new SSLIOSession(session, SSLMode.SERVER, sslcontext, this.sslHandler);
         session.setAttribute(SSLIOSession.SESSION_KEY, ssliosession);
-        return createConnection(ssliosession, this.requestFactory, this.allocator, this.params);
+        NHttpServerIOTarget conn =  createConnection(
+                ssliosession, this.requestFactory, this.allocator, this.params);
+        int timeout = HttpConnectionParams.getSoTimeout(this.params);
+        conn.setSocketTimeout(timeout);
+        return conn;
     }
 
 }

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=1164865&r1=1164864&r2=1164865&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 Sat Sep  3 13:55:27 2011
@@ -63,12 +63,12 @@ import org.apache.http.protocol.Executio
 @Immutable
 public class BasicNIOConnFactory implements NIOConnFactory<HttpHost, NHttpClientConnection> {
 
-    private final NHttpConnectionFactory<NHttpClientConnection> plainFactory;
-    private final NHttpConnectionFactory<NHttpClientConnection> sslFactory;
+    private final NHttpConnectionFactory<? extends NHttpClientConnection> plainFactory;
+    private final NHttpConnectionFactory<? extends NHttpClientConnection> sslFactory;
 
     public BasicNIOConnFactory(
-            final NHttpConnectionFactory<NHttpClientConnection> plainFactory,
-            final NHttpConnectionFactory<NHttpClientConnection> sslFactory) {
+            final NHttpConnectionFactory<? extends NHttpClientConnection> plainFactory,
+            final NHttpConnectionFactory<? extends NHttpClientConnection> sslFactory) {
         super();
         if (plainFactory == null) {
         	throw new IllegalArgumentException("Plain HTTP client connection factory may not be null");

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=1164865&r1=1164864&r2=1164865&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 Sat Sep  3 13:55:27 2011
@@ -31,6 +31,7 @@ import javax.net.ssl.SSLContext;
 import javax.net.ssl.SSLException;
 
 import org.apache.http.annotation.Immutable;
+import org.apache.http.impl.nio.DefaultClientIODispatch;
 import org.apache.http.impl.nio.DefaultClientIOEventDispatch;
 import org.apache.http.nio.NHttpClientHandler;
 import org.apache.http.nio.NHttpClientIOTarget;
@@ -57,7 +58,10 @@ import org.apache.http.params.HttpParams
  * </ul>
  *
  * @since 4.1
+ *
+ * @deprecated use {@link DefaultClientIODispatch}
  */
+@Deprecated
 @Immutable // provided injected dependencies are immutable
 public class SSLClientIOEventDispatch extends DefaultClientIOEventDispatch {
 

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=1164865&r1=1164864&r2=1164865&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 Sat Sep  3 13:55:27 2011
@@ -31,6 +31,7 @@ import javax.net.ssl.SSLContext;
 import javax.net.ssl.SSLException;
 
 import org.apache.http.annotation.Immutable;
+import org.apache.http.impl.nio.DefaultServerIODispatch;
 import org.apache.http.impl.nio.DefaultServerIOEventDispatch;
 import org.apache.http.nio.NHttpServerIOTarget;
 import org.apache.http.nio.NHttpServiceHandler;
@@ -57,7 +58,10 @@ import org.apache.http.params.HttpParams
  * </ul>
  *
  * @since 4.1
+ *
+ * @deprecated use {@link DefaultServerIODispatch}
  */
+@Deprecated
 @Immutable // provided injected dependencies are immutable
 public class SSLServerIOEventDispatch extends DefaultServerIOEventDispatch {
 

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=1164865&r1=1164864&r2=1164865&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 Sat Sep  3 13:55:27 2011
@@ -37,7 +37,7 @@ import java.util.concurrent.TimeUnit;
 import org.apache.http.HttpResponseInterceptor;
 import org.apache.http.impl.DefaultConnectionReuseStrategy;
 import org.apache.http.impl.DefaultHttpResponseFactory;
-import org.apache.http.impl.nio.DefaultServerIOEventDispatch;
+import org.apache.http.impl.nio.DefaultServerIODispatch;
 import org.apache.http.nio.protocol.BufferingHttpServiceHandler;
 import org.apache.http.nio.reactor.IOEventDispatch;
 import org.apache.http.nio.reactor.IOReactorExceptionHandler;
@@ -78,7 +78,7 @@ public class TestDefaultListeningIOReact
                 new DefaultConnectionReuseStrategy(),
                 params);
 
-        final IOEventDispatch eventDispatch = new DefaultServerIOEventDispatch(
+        final IOEventDispatch eventDispatch = new DefaultServerIODispatch(
                 serviceHandler,
                 params);
 
@@ -147,7 +147,7 @@ public class TestDefaultListeningIOReact
                 new DefaultConnectionReuseStrategy(),
                 params);
 
-        final IOEventDispatch eventDispatch = new DefaultServerIOEventDispatch(
+        final IOEventDispatch eventDispatch = new DefaultServerIODispatch(
                 serviceHandler,
                 params);
 
@@ -211,7 +211,7 @@ public class TestDefaultListeningIOReact
                 new DefaultConnectionReuseStrategy(),
                 params);
 
-        final IOEventDispatch eventDispatch = new DefaultServerIOEventDispatch(
+        final IOEventDispatch eventDispatch = new DefaultServerIODispatch(
                 serviceHandler,
                 params);
 

Modified: httpcomponents/httpcore/trunk/httpcore-nio/src/test/java/org/apache/http/nio/protocol/TestTruncatedChunks.java
URL: http://svn.apache.org/viewvc/httpcomponents/httpcore/trunk/httpcore-nio/src/test/java/org/apache/http/nio/protocol/TestTruncatedChunks.java?rev=1164865&r1=1164864&r2=1164865&view=diff
==============================================================================
--- httpcomponents/httpcore/trunk/httpcore-nio/src/test/java/org/apache/http/nio/protocol/TestTruncatedChunks.java (original)
+++ httpcomponents/httpcore/trunk/httpcore-nio/src/test/java/org/apache/http/nio/protocol/TestTruncatedChunks.java Sat Sep  3 13:55:27 2011
@@ -38,6 +38,7 @@ import java.util.concurrent.ConcurrentLi
 
 import org.apache.http.HttpEntity;
 import org.apache.http.HttpRequest;
+import org.apache.http.HttpRequestFactory;
 import org.apache.http.HttpRequestInterceptor;
 import org.apache.http.HttpResponse;
 import org.apache.http.HttpResponseInterceptor;
@@ -50,7 +51,8 @@ import org.apache.http.impl.DefaultConne
 import org.apache.http.impl.DefaultHttpResponseFactory;
 import org.apache.http.impl.io.HttpTransportMetricsImpl;
 import org.apache.http.impl.nio.DefaultNHttpServerConnection;
-import org.apache.http.impl.nio.DefaultServerIOEventDispatch;
+import org.apache.http.impl.nio.DefaultNHttpServerConnectionFactory;
+import org.apache.http.impl.nio.DefaultServerIODispatch;
 import org.apache.http.impl.nio.codecs.AbstractContentEncoder;
 import org.apache.http.message.BasicHttpRequest;
 import org.apache.http.nio.ContentDecoder;
@@ -143,22 +145,20 @@ public class TestTruncatedChunks {
 
     }
 
-    static class CustomServerIOEventDispatch extends DefaultServerIOEventDispatch {
+    static class CustomServerConnectionFactory extends DefaultNHttpServerConnectionFactory {
 
-        public CustomServerIOEventDispatch(
-                final NHttpServiceHandler handler,
-                final HttpParams params) {
-            super(handler, params);
+        public CustomServerConnectionFactory(final HttpParams params) {
+            super(params);
         }
 
         @Override
-        protected NHttpServerIOTarget createConnection(final IOSession session) {
+        protected NHttpServerIOTarget createConnection(
+                final IOSession session,
+                final HttpRequestFactory requestFactory,
+                final ByteBufferAllocator allocator,
+                final HttpParams params) {
 
-            return new DefaultNHttpServerConnection(
-                    session,
-                    createHttpRequestFactory(),
-                    this.allocator,
-                    this.params) {
+            return new DefaultNHttpServerConnection(session, requestFactory, allocator, params) {
 
                         @Override
                         protected ContentEncoder createContentEncoder(
@@ -187,7 +187,7 @@ public class TestTruncatedChunks {
         @Override
         protected IOEventDispatch createIOEventDispatch(
                 NHttpServiceHandler serviceHandler, HttpParams params) {
-            return new CustomServerIOEventDispatch(serviceHandler, params);
+            return new DefaultServerIODispatch(serviceHandler, new CustomServerConnectionFactory(params));
         }
 
     }

Modified: httpcomponents/httpcore/trunk/httpcore-nio/src/test/java/org/apache/http/testserver/HttpClientNio.java
URL: http://svn.apache.org/viewvc/httpcomponents/httpcore/trunk/httpcore-nio/src/test/java/org/apache/http/testserver/HttpClientNio.java?rev=1164865&r1=1164864&r2=1164865&view=diff
==============================================================================
--- httpcomponents/httpcore/trunk/httpcore-nio/src/test/java/org/apache/http/testserver/HttpClientNio.java (original)
+++ httpcomponents/httpcore/trunk/httpcore-nio/src/test/java/org/apache/http/testserver/HttpClientNio.java Sat Sep  3 13:55:27 2011
@@ -31,7 +31,7 @@ import java.io.IOException;
 import java.net.InetSocketAddress;
 import java.util.List;
 
-import org.apache.http.impl.nio.DefaultClientIOEventDispatch;
+import org.apache.http.impl.nio.DefaultClientIODispatch;
 import org.apache.http.impl.nio.reactor.DefaultConnectingIOReactor;
 import org.apache.http.impl.nio.reactor.ExceptionEvent;
 import org.apache.http.nio.NHttpClientHandler;
@@ -64,7 +64,7 @@ public class HttpClientNio {
 
     protected IOEventDispatch createIOEventDispatch(
             final NHttpClientHandler clientHandler, final HttpParams params) {
-        return new DefaultClientIOEventDispatch(clientHandler, params);
+        return new DefaultClientIODispatch(clientHandler, params);
     }
 
     private void execute(final NHttpClientHandler clientHandler) throws IOException {

Modified: httpcomponents/httpcore/trunk/httpcore-nio/src/test/java/org/apache/http/testserver/HttpSSLClient.java
URL: http://svn.apache.org/viewvc/httpcomponents/httpcore/trunk/httpcore-nio/src/test/java/org/apache/http/testserver/HttpSSLClient.java?rev=1164865&r1=1164864&r2=1164865&view=diff
==============================================================================
--- httpcomponents/httpcore/trunk/httpcore-nio/src/test/java/org/apache/http/testserver/HttpSSLClient.java (original)
+++ httpcomponents/httpcore/trunk/httpcore-nio/src/test/java/org/apache/http/testserver/HttpSSLClient.java Sat Sep  3 13:55:27 2011
@@ -38,9 +38,9 @@ import javax.net.ssl.SSLContext;
 import javax.net.ssl.TrustManager;
 import javax.net.ssl.TrustManagerFactory;
 
+import org.apache.http.impl.nio.DefaultClientIODispatch;
 import org.apache.http.impl.nio.reactor.DefaultConnectingIOReactor;
 import org.apache.http.impl.nio.reactor.ExceptionEvent;
-import org.apache.http.impl.nio.ssl.SSLClientIOEventDispatch;
 import org.apache.http.nio.NHttpClientHandler;
 import org.apache.http.nio.reactor.IOEventDispatch;
 import org.apache.http.nio.reactor.IOReactorExceptionHandler;
@@ -105,7 +105,7 @@ public class HttpSSLClient {
             final NHttpClientHandler clientHandler,
             final SSLContext sslcontext,
             final HttpParams params) {
-        return new SSLClientIOEventDispatch(clientHandler, sslcontext, params);
+        return new DefaultClientIODispatch(clientHandler, sslcontext, null, params);
     }
 
     private void execute(final NHttpClientHandler clientHandler) throws IOException {

Modified: httpcomponents/httpcore/trunk/httpcore-nio/src/test/java/org/apache/http/testserver/HttpSSLServer.java
URL: http://svn.apache.org/viewvc/httpcomponents/httpcore/trunk/httpcore-nio/src/test/java/org/apache/http/testserver/HttpSSLServer.java?rev=1164865&r1=1164864&r2=1164865&view=diff
==============================================================================
--- httpcomponents/httpcore/trunk/httpcore-nio/src/test/java/org/apache/http/testserver/HttpSSLServer.java (original)
+++ httpcomponents/httpcore/trunk/httpcore-nio/src/test/java/org/apache/http/testserver/HttpSSLServer.java Sat Sep  3 13:55:27 2011
@@ -38,16 +38,14 @@ import javax.net.ssl.KeyManager;
 import javax.net.ssl.KeyManagerFactory;
 import javax.net.ssl.SSLContext;
 
+import org.apache.http.impl.nio.DefaultServerIODispatch;
 import org.apache.http.impl.nio.reactor.DefaultListeningIOReactor;
 import org.apache.http.impl.nio.reactor.ExceptionEvent;
-import org.apache.http.impl.nio.ssl.SSLServerIOEventDispatch;
-import org.apache.http.nio.NHttpServerIOTarget;
 import org.apache.http.nio.NHttpServiceHandler;
 import org.apache.http.nio.reactor.IOEventDispatch;
 import org.apache.http.nio.reactor.IOReactorExceptionHandler;
 import org.apache.http.nio.reactor.IOReactorStatus;
 import org.apache.http.nio.reactor.ListenerEndpoint;
-import org.apache.http.nio.reactor.ssl.SSLIOSession;
 import org.apache.http.params.HttpParams;
 
 /**
@@ -112,18 +110,7 @@ public class HttpSSLServer {
             final NHttpServiceHandler serviceHandler,
             final SSLContext sslcontext,
             final HttpParams params) {
-        return new SSLServerIOEventDispatch(serviceHandler, sslcontext, params) {
-
-            @Override
-            protected NHttpServerIOTarget createSSLConnection(final SSLIOSession session) {
-                return new LoggingNHttpServerConnection(
-                        session,
-                        createHttpRequestFactory(),
-                        createByteBufferAllocator(),
-                        params);
-            }
-
-        };
+        return new DefaultServerIODispatch(serviceHandler, sslcontext, null, params);
     }
 
     private void execute(final NHttpServiceHandler serviceHandler) throws IOException {

Modified: httpcomponents/httpcore/trunk/httpcore-nio/src/test/java/org/apache/http/testserver/HttpServerNio.java
URL: http://svn.apache.org/viewvc/httpcomponents/httpcore/trunk/httpcore-nio/src/test/java/org/apache/http/testserver/HttpServerNio.java?rev=1164865&r1=1164864&r2=1164865&view=diff
==============================================================================
--- httpcomponents/httpcore/trunk/httpcore-nio/src/test/java/org/apache/http/testserver/HttpServerNio.java (original)
+++ httpcomponents/httpcore/trunk/httpcore-nio/src/test/java/org/apache/http/testserver/HttpServerNio.java Sat Sep  3 13:55:27 2011
@@ -31,15 +31,13 @@ import java.io.IOException;
 import java.net.InetSocketAddress;
 import java.util.List;
 
-import org.apache.http.impl.nio.DefaultServerIOEventDispatch;
+import org.apache.http.impl.nio.DefaultServerIODispatch;
 import org.apache.http.impl.nio.reactor.DefaultListeningIOReactor;
 import org.apache.http.impl.nio.reactor.ExceptionEvent;
-import org.apache.http.nio.NHttpServerIOTarget;
 import org.apache.http.nio.NHttpServiceHandler;
 import org.apache.http.nio.reactor.IOEventDispatch;
 import org.apache.http.nio.reactor.IOReactorExceptionHandler;
 import org.apache.http.nio.reactor.IOReactorStatus;
-import org.apache.http.nio.reactor.IOSession;
 import org.apache.http.nio.reactor.ListenerEndpoint;
 import org.apache.http.params.HttpParams;
 
@@ -71,18 +69,7 @@ public class HttpServerNio {
 
     protected IOEventDispatch createIOEventDispatch(
             final NHttpServiceHandler serviceHandler, final HttpParams params) {
-        return new DefaultServerIOEventDispatch(serviceHandler, params) {
-
-            @Override
-            protected NHttpServerIOTarget createConnection(final IOSession session) {
-                return new LoggingNHttpServerConnection(
-                        session,
-                        createHttpRequestFactory(),
-                        createByteBufferAllocator(),
-                        params);
-            }
-
-        };
+        return new DefaultServerIODispatch(serviceHandler, params);
     }
 
     private void execute(final NHttpServiceHandler serviceHandler) throws IOException {