You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by ma...@apache.org on 2014/11/10 17:45:06 UTC

svn commit: r1637917 [1/2] - in /tomcat/trunk: java/org/apache/coyote/ java/org/apache/coyote/ajp/ java/org/apache/coyote/http11/ java/org/apache/coyote/http11/upgrade/ java/org/apache/coyote/spdy/ java/org/apache/tomcat/util/net/ test/org/apache/coyot...

Author: markt
Date: Mon Nov 10 16:45:04 2014
New Revision: 1637917

URL: http://svn.apache.org/r1637917
Log:
Make SocketWrapper abstract
Rename SocketWrapper and sub-classes for consistency

Added:
    tomcat/trunk/java/org/apache/tomcat/util/net/SocketWrapperBase.java   (contents, props changed)
      - copied, changed from r1637916, tomcat/trunk/java/org/apache/tomcat/util/net/SocketWrapper.java
Removed:
    tomcat/trunk/java/org/apache/tomcat/util/net/SocketWrapper.java
Modified:
    tomcat/trunk/java/org/apache/coyote/AbstractProcessor.java
    tomcat/trunk/java/org/apache/coyote/AbstractProtocol.java
    tomcat/trunk/java/org/apache/coyote/Processor.java
    tomcat/trunk/java/org/apache/coyote/ajp/AbstractAjpProcessor.java
    tomcat/trunk/java/org/apache/coyote/ajp/AbstractAjpProtocol.java
    tomcat/trunk/java/org/apache/coyote/ajp/AjpAprProcessor.java
    tomcat/trunk/java/org/apache/coyote/ajp/AjpAprProtocol.java
    tomcat/trunk/java/org/apache/coyote/ajp/AjpNio2Processor.java
    tomcat/trunk/java/org/apache/coyote/ajp/AjpNio2Protocol.java
    tomcat/trunk/java/org/apache/coyote/ajp/AjpNioProcessor.java
    tomcat/trunk/java/org/apache/coyote/ajp/AjpNioProtocol.java
    tomcat/trunk/java/org/apache/coyote/http11/AbstractHttp11Processor.java
    tomcat/trunk/java/org/apache/coyote/http11/AbstractInputBuffer.java
    tomcat/trunk/java/org/apache/coyote/http11/AbstractOutputBuffer.java
    tomcat/trunk/java/org/apache/coyote/http11/Http11AprProcessor.java
    tomcat/trunk/java/org/apache/coyote/http11/Http11AprProtocol.java
    tomcat/trunk/java/org/apache/coyote/http11/Http11Nio2Processor.java
    tomcat/trunk/java/org/apache/coyote/http11/Http11Nio2Protocol.java
    tomcat/trunk/java/org/apache/coyote/http11/Http11NioProcessor.java
    tomcat/trunk/java/org/apache/coyote/http11/Http11NioProtocol.java
    tomcat/trunk/java/org/apache/coyote/http11/InternalAprInputBuffer.java
    tomcat/trunk/java/org/apache/coyote/http11/InternalAprOutputBuffer.java
    tomcat/trunk/java/org/apache/coyote/http11/InternalNio2InputBuffer.java
    tomcat/trunk/java/org/apache/coyote/http11/InternalNio2OutputBuffer.java
    tomcat/trunk/java/org/apache/coyote/http11/InternalNioInputBuffer.java
    tomcat/trunk/java/org/apache/coyote/http11/InternalNioOutputBuffer.java
    tomcat/trunk/java/org/apache/coyote/http11/NpnHandler.java
    tomcat/trunk/java/org/apache/coyote/http11/upgrade/AbstractProcessor.java
    tomcat/trunk/java/org/apache/coyote/http11/upgrade/AbstractServletOutputStream.java
    tomcat/trunk/java/org/apache/coyote/http11/upgrade/AprProcessor.java
    tomcat/trunk/java/org/apache/coyote/http11/upgrade/AprServletInputStream.java
    tomcat/trunk/java/org/apache/coyote/http11/upgrade/AprServletOutputStream.java
    tomcat/trunk/java/org/apache/coyote/http11/upgrade/Nio2Processor.java
    tomcat/trunk/java/org/apache/coyote/http11/upgrade/Nio2ServletInputStream.java
    tomcat/trunk/java/org/apache/coyote/http11/upgrade/Nio2ServletOutputStream.java
    tomcat/trunk/java/org/apache/coyote/http11/upgrade/NioProcessor.java
    tomcat/trunk/java/org/apache/coyote/http11/upgrade/NioServletInputStream.java
    tomcat/trunk/java/org/apache/coyote/http11/upgrade/NioServletOutputStream.java
    tomcat/trunk/java/org/apache/coyote/spdy/SpdyAprNpnHandler.java
    tomcat/trunk/java/org/apache/coyote/spdy/SpdyProcessor.java
    tomcat/trunk/java/org/apache/coyote/spdy/SpdyProxyProtocol.java
    tomcat/trunk/java/org/apache/tomcat/util/net/AbstractEndpoint.java
    tomcat/trunk/java/org/apache/tomcat/util/net/AprEndpoint.java
    tomcat/trunk/java/org/apache/tomcat/util/net/Nio2Channel.java
    tomcat/trunk/java/org/apache/tomcat/util/net/Nio2Endpoint.java
    tomcat/trunk/java/org/apache/tomcat/util/net/NioBlockingSelector.java
    tomcat/trunk/java/org/apache/tomcat/util/net/NioEndpoint.java
    tomcat/trunk/java/org/apache/tomcat/util/net/SecureNio2Channel.java
    tomcat/trunk/test/org/apache/coyote/http11/filters/TesterOutputBuffer.java

Modified: tomcat/trunk/java/org/apache/coyote/AbstractProcessor.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/AbstractProcessor.java?rev=1637917&r1=1637916&r2=1637917&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/coyote/AbstractProcessor.java (original)
+++ tomcat/trunk/java/org/apache/coyote/AbstractProcessor.java Mon Nov 10 16:45:04 2014
@@ -25,7 +25,7 @@ import org.apache.juli.logging.Log;
 import org.apache.tomcat.util.net.AbstractEndpoint;
 import org.apache.tomcat.util.net.AbstractEndpoint.Handler.SocketState;
 import org.apache.tomcat.util.net.SocketStatus;
-import org.apache.tomcat.util.net.SocketWrapper;
+import org.apache.tomcat.util.net.SocketWrapperBase;
 import org.apache.tomcat.util.res.StringManager;
 
 /**
@@ -41,7 +41,7 @@ public abstract class AbstractProcessor<
     protected final AbstractEndpoint<S> endpoint;
     protected final Request request;
     protected final Response response;
-    protected SocketWrapper<S> socketWrapper = null;
+    protected SocketWrapperBase<S> socketWrapper = null;
 
     /**
      * Error state for the request/response currently being processed.
@@ -140,7 +140,7 @@ public abstract class AbstractProcessor<
     /**
      * Set the socket wrapper being used.
      */
-    protected final void setSocketWrapper(SocketWrapper<S> socketWrapper) {
+    protected final void setSocketWrapper(SocketWrapperBase<S> socketWrapper) {
         this.socketWrapper = socketWrapper;
     }
 
@@ -148,7 +148,7 @@ public abstract class AbstractProcessor<
     /**
      * Get the socket wrapper being used.
      */
-    protected final SocketWrapper<S> getSocketWrapper() {
+    protected final SocketWrapperBase<S> getSocketWrapper() {
         return socketWrapper;
     }
 
@@ -186,7 +186,7 @@ public abstract class AbstractProcessor<
      * with although they may change type during processing.
      */
     @Override
-    public abstract SocketState process(SocketWrapper<S> socket) throws IOException;
+    public abstract SocketState process(SocketWrapperBase<S> socket) throws IOException;
 
     /**
      * Process in-progress Servlet 3.0 Async requests. These will start as HTTP

Modified: tomcat/trunk/java/org/apache/coyote/AbstractProtocol.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/AbstractProtocol.java?rev=1637917&r1=1637916&r2=1637917&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/coyote/AbstractProtocol.java (original)
+++ tomcat/trunk/java/org/apache/coyote/AbstractProtocol.java Mon Nov 10 16:45:04 2014
@@ -42,7 +42,7 @@ import org.apache.tomcat.util.net.Abstra
 import org.apache.tomcat.util.net.AbstractEndpoint.Handler;
 import org.apache.tomcat.util.net.DispatchType;
 import org.apache.tomcat.util.net.SocketStatus;
-import org.apache.tomcat.util.net.SocketWrapper;
+import org.apache.tomcat.util.net.SocketWrapperBase;
 import org.apache.tomcat.util.res.StringManager;
 
 public abstract class AbstractProtocol<S> implements ProtocolHandler,
@@ -577,7 +577,7 @@ public abstract class AbstractProtocol<S
         }
 
 
-        public SocketState process(SocketWrapper<S> wrapper,
+        public SocketState process(SocketWrapperBase<S> wrapper,
                 SocketStatus status) {
             if (wrapper == null) {
                 // Nothing to do. Socket has been closed.
@@ -754,15 +754,15 @@ public abstract class AbstractProtocol<S
         }
 
         protected abstract P createProcessor();
-        protected abstract void initSsl(SocketWrapper<S> socket,
+        protected abstract void initSsl(SocketWrapperBase<S> socket,
                 Processor<S> processor);
-        protected abstract void longPoll(SocketWrapper<S> socket,
+        protected abstract void longPoll(SocketWrapperBase<S> socket,
                 Processor<S> processor);
-        protected abstract void release(SocketWrapper<S> socket,
+        protected abstract void release(SocketWrapperBase<S> socket,
                 Processor<S> processor, boolean socketClosing,
                 boolean addToPoller);
         protected abstract Processor<S> createUpgradeProcessor(
-                SocketWrapper<S> socket, ByteBuffer leftoverInput,
+                SocketWrapperBase<S> socket, ByteBuffer leftoverInput,
                 HttpUpgradeHandler httpUpgradeProcessor) throws IOException;
 
         protected void register(AbstractProcessor<S> processor) {

Modified: tomcat/trunk/java/org/apache/coyote/Processor.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/Processor.java?rev=1637917&r1=1637916&r2=1637917&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/coyote/Processor.java (original)
+++ tomcat/trunk/java/org/apache/coyote/Processor.java Mon Nov 10 16:45:04 2014
@@ -25,7 +25,7 @@ import javax.servlet.http.HttpUpgradeHan
 import org.apache.tomcat.util.net.AbstractEndpoint.Handler.SocketState;
 import org.apache.tomcat.util.net.SSLSupport;
 import org.apache.tomcat.util.net.SocketStatus;
-import org.apache.tomcat.util.net.SocketWrapper;
+import org.apache.tomcat.util.net.SocketWrapperBase;
 
 
 /**
@@ -34,7 +34,7 @@ import org.apache.tomcat.util.net.Socket
 public interface Processor<S> {
     Executor getExecutor();
 
-    SocketState process(SocketWrapper<S> socketWrapper) throws IOException;
+    SocketState process(SocketWrapperBase<S> socketWrapper) throws IOException;
 
     SocketState asyncDispatch(SocketStatus status);
     SocketState asyncPostProcess();

Modified: tomcat/trunk/java/org/apache/coyote/ajp/AbstractAjpProcessor.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/ajp/AbstractAjpProcessor.java?rev=1637917&r1=1637916&r2=1637917&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/coyote/ajp/AbstractAjpProcessor.java (original)
+++ tomcat/trunk/java/org/apache/coyote/ajp/AbstractAjpProcessor.java Mon Nov 10 16:45:04 2014
@@ -53,7 +53,7 @@ import org.apache.tomcat.util.net.Abstra
 import org.apache.tomcat.util.net.DispatchType;
 import org.apache.tomcat.util.net.SSLSupport;
 import org.apache.tomcat.util.net.SocketStatus;
-import org.apache.tomcat.util.net.SocketWrapper;
+import org.apache.tomcat.util.net.SocketWrapperBase;
 import org.apache.tomcat.util.res.StringManager;
 
 /**
@@ -716,7 +716,7 @@ public abstract class AbstractAjpProcess
      * @throws IOException error during an I/O operation
      */
     @Override
-    public SocketState process(SocketWrapper<S> socket) throws IOException {
+    public SocketState process(SocketWrapperBase<S> socket) throws IOException {
 
         RequestInfo rp = request.getRequestProcessor();
         rp.setStage(org.apache.coyote.Constants.STAGE_PARSE);
@@ -934,10 +934,10 @@ public abstract class AbstractAjpProcess
             boolean block) throws IOException;
 
     // Methods called by process()
-    protected abstract void setupSocket(SocketWrapper<S> socketWrapper)
+    protected abstract void setupSocket(SocketWrapperBase<S> socketWrapper)
             throws IOException;
 
-    protected abstract void setTimeout(SocketWrapper<S> socketWrapper,
+    protected abstract void setTimeout(SocketWrapperBase<S> socketWrapper,
             int timeout) throws IOException;
 
     // Methods used by readMessage

Modified: tomcat/trunk/java/org/apache/coyote/ajp/AbstractAjpProtocol.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/ajp/AbstractAjpProtocol.java?rev=1637917&r1=1637916&r2=1637917&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/coyote/ajp/AbstractAjpProtocol.java (original)
+++ tomcat/trunk/java/org/apache/coyote/ajp/AbstractAjpProtocol.java Mon Nov 10 16:45:04 2014
@@ -22,7 +22,7 @@ import javax.servlet.http.HttpUpgradeHan
 
 import org.apache.coyote.AbstractProtocol;
 import org.apache.coyote.Processor;
-import org.apache.tomcat.util.net.SocketWrapper;
+import org.apache.tomcat.util.net.SocketWrapperBase;
 import org.apache.tomcat.util.res.StringManager;
 
 public abstract class AbstractAjpProtocol<S> extends AbstractProtocol<S> {
@@ -89,19 +89,19 @@ public abstract class AbstractAjpProtoco
             extends AbstractConnectionHandler<S, P> {
 
         @Override
-        protected void initSsl(SocketWrapper<S> socket, Processor<S> processor) {
+        protected void initSsl(SocketWrapperBase<S> socket, Processor<S> processor) {
             // NOOP for AJP
         }
 
         @Override
-        protected void longPoll(SocketWrapper<S> socket,
+        protected void longPoll(SocketWrapperBase<S> socket,
                 Processor<S> processor) {
             // Same requirements for all AJP connectors
             socket.setAsync(true);
         }
 
         @Override
-        protected P createUpgradeProcessor(SocketWrapper<S> socket, ByteBuffer leftoverInput,
+        protected P createUpgradeProcessor(SocketWrapperBase<S> socket, ByteBuffer leftoverInput,
                 HttpUpgradeHandler httpUpgradeHandler) {
             // TODO should fail - throw IOE
             return null;

Modified: tomcat/trunk/java/org/apache/coyote/ajp/AjpAprProcessor.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/ajp/AjpAprProcessor.java?rev=1637917&r1=1637916&r2=1637917&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/coyote/ajp/AjpAprProcessor.java (original)
+++ tomcat/trunk/java/org/apache/coyote/ajp/AjpAprProcessor.java Mon Nov 10 16:45:04 2014
@@ -27,7 +27,7 @@ import org.apache.juli.logging.LogFactor
 import org.apache.tomcat.jni.Socket;
 import org.apache.tomcat.jni.Status;
 import org.apache.tomcat.util.net.AprEndpoint;
-import org.apache.tomcat.util.net.SocketWrapper;
+import org.apache.tomcat.util.net.SocketWrapperBase;
 
 /**
  * Processes AJP requests.
@@ -87,7 +87,7 @@ public class AjpAprProcessor extends Abs
 
 
     @Override
-    protected void setupSocket(SocketWrapper<Long> socketWrapper) {
+    protected void setupSocket(SocketWrapperBase<Long> socketWrapper) {
         long socketRef = socketWrapper.getSocket().longValue();
         Socket.setrbb(socketRef, inputBuffer);
         Socket.setsbb(socketRef, outputBuffer);
@@ -95,7 +95,7 @@ public class AjpAprProcessor extends Abs
 
 
     @Override
-    protected void setTimeout(SocketWrapper<Long> socketWrapper,
+    protected void setTimeout(SocketWrapperBase<Long> socketWrapper,
             int timeout) throws IOException {
         Socket.timeoutSet(
                 socketWrapper.getSocket().longValue(), timeout * 1000);

Modified: tomcat/trunk/java/org/apache/coyote/ajp/AjpAprProtocol.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/ajp/AjpAprProtocol.java?rev=1637917&r1=1637916&r2=1637917&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/coyote/ajp/AjpAprProtocol.java (original)
+++ tomcat/trunk/java/org/apache/coyote/ajp/AjpAprProtocol.java Mon Nov 10 16:45:04 2014
@@ -23,7 +23,7 @@ import org.apache.juli.logging.LogFactor
 import org.apache.tomcat.util.net.AbstractEndpoint;
 import org.apache.tomcat.util.net.AprEndpoint;
 import org.apache.tomcat.util.net.AprEndpoint.Handler;
-import org.apache.tomcat.util.net.SocketWrapper;
+import org.apache.tomcat.util.net.SocketWrapperBase;
 
 
 /**
@@ -127,7 +127,7 @@ public class AjpAprProtocol extends Abst
          * required.
          */
         @Override
-        public void release(SocketWrapper<Long> socket,
+        public void release(SocketWrapperBase<Long> socket,
                 Processor<Long> processor, boolean isSocketClosing,
                 boolean addToPoller) {
             processor.recycle(isSocketClosing);

Modified: tomcat/trunk/java/org/apache/coyote/ajp/AjpNio2Processor.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/ajp/AjpNio2Processor.java?rev=1637917&r1=1637916&r2=1637917&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/coyote/ajp/AjpNio2Processor.java (original)
+++ tomcat/trunk/java/org/apache/coyote/ajp/AjpNio2Processor.java Mon Nov 10 16:45:04 2014
@@ -28,7 +28,7 @@ import org.apache.juli.logging.LogFactor
 import org.apache.tomcat.util.net.Nio2Channel;
 import org.apache.tomcat.util.net.Nio2Endpoint;
 import org.apache.tomcat.util.net.SocketStatus;
-import org.apache.tomcat.util.net.SocketWrapper;
+import org.apache.tomcat.util.net.SocketWrapperBase;
 
 /**
  * Processes AJP requests using NIO2.
@@ -44,7 +44,7 @@ public class AjpNio2Processor extends Ab
     /**
      * The completion handler used for asynchronous write operations
      */
-    protected CompletionHandler<Integer, SocketWrapper<Nio2Channel>> writeCompletionHandler;
+    protected CompletionHandler<Integer, SocketWrapperBase<Nio2Channel>> writeCompletionHandler;
 
     /**
      * Flipped flag for read buffer.
@@ -59,9 +59,9 @@ public class AjpNio2Processor extends Ab
     public AjpNio2Processor(int packetSize, Nio2Endpoint endpoint0) {
         super(packetSize, endpoint0);
         response.setOutputBuffer(new SocketOutputBuffer());
-        this.writeCompletionHandler = new CompletionHandler<Integer, SocketWrapper<Nio2Channel>>() {
+        this.writeCompletionHandler = new CompletionHandler<Integer, SocketWrapperBase<Nio2Channel>>() {
             @Override
-            public void completed(Integer nBytes, SocketWrapper<Nio2Channel> attachment) {
+            public void completed(Integer nBytes, SocketWrapperBase<Nio2Channel> attachment) {
                 boolean notify = false;
                 synchronized (writeCompletionHandler) {
                     if (nBytes.intValue() < 0) {
@@ -78,7 +78,7 @@ public class AjpNio2Processor extends Ab
                 }
             }
             @Override
-            public void failed(Throwable exc, SocketWrapper<Nio2Channel> attachment) {
+            public void failed(Throwable exc, SocketWrapperBase<Nio2Channel> attachment) {
                 attachment.setError(true);
                 writePending = false;
                 endpoint.processSocket(attachment, SocketStatus.DISCONNECT, true);
@@ -120,14 +120,14 @@ public class AjpNio2Processor extends Ab
 
 
     @Override
-    protected void setupSocket(SocketWrapper<Nio2Channel> socketWrapper)
+    protected void setupSocket(SocketWrapperBase<Nio2Channel> socketWrapper)
             throws IOException {
         // NO-OP
     }
 
 
     @Override
-    protected void setTimeout(SocketWrapper<Nio2Channel> socketWrapper,
+    protected void setTimeout(SocketWrapperBase<Nio2Channel> socketWrapper,
             int timeout) throws IOException {
         socketWrapper.setTimeout(timeout);
     }

Modified: tomcat/trunk/java/org/apache/coyote/ajp/AjpNio2Protocol.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/ajp/AjpNio2Protocol.java?rev=1637917&r1=1637916&r2=1637917&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/coyote/ajp/AjpNio2Protocol.java (original)
+++ tomcat/trunk/java/org/apache/coyote/ajp/AjpNio2Protocol.java Mon Nov 10 16:45:04 2014
@@ -27,7 +27,7 @@ import org.apache.tomcat.util.net.Nio2Ch
 import org.apache.tomcat.util.net.Nio2Endpoint;
 import org.apache.tomcat.util.net.Nio2Endpoint.Handler;
 import org.apache.tomcat.util.net.SSLImplementation;
-import org.apache.tomcat.util.net.SocketWrapper;
+import org.apache.tomcat.util.net.SocketWrapperBase;
 
 
 /**
@@ -116,7 +116,7 @@ public class AjpNio2Protocol extends Abs
          * close, errors etc.
          */
         @Override
-        public void release(SocketWrapper<Nio2Channel> socket) {
+        public void release(SocketWrapperBase<Nio2Channel> socket) {
             Processor<Nio2Channel> processor =
                     connections.remove(socket.getSocket());
             if (processor != null) {
@@ -130,7 +130,7 @@ public class AjpNio2Protocol extends Abs
          * required.
          */
         @Override
-        public void release(SocketWrapper<Nio2Channel> socket,
+        public void release(SocketWrapperBase<Nio2Channel> socket,
                 Processor<Nio2Channel> processor, boolean isSocketClosing,
                 boolean addToPoller) {
             processor.recycle(isSocketClosing);

Modified: tomcat/trunk/java/org/apache/coyote/ajp/AjpNioProcessor.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/ajp/AjpNioProcessor.java?rev=1637917&r1=1637916&r2=1637917&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/coyote/ajp/AjpNioProcessor.java (original)
+++ tomcat/trunk/java/org/apache/coyote/ajp/AjpNioProcessor.java Mon Nov 10 16:45:04 2014
@@ -27,7 +27,7 @@ import org.apache.juli.logging.LogFactor
 import org.apache.tomcat.util.net.NioChannel;
 import org.apache.tomcat.util.net.NioEndpoint;
 import org.apache.tomcat.util.net.NioSelectorPool;
-import org.apache.tomcat.util.net.SocketWrapper;
+import org.apache.tomcat.util.net.SocketWrapperBase;
 
 /**
  * Processes AJP requests using NIO.
@@ -60,8 +60,8 @@ public class AjpNioProcessor extends Abs
     @Override
     protected void registerForEvent(boolean read, boolean write) {
         final NioChannel socket = socketWrapper.getSocket();
-        final NioEndpoint.KeyAttachment attach =
-                (NioEndpoint.KeyAttachment) socket.getAttachment(false);
+        final NioEndpoint.NioSocketWrapper attach =
+                (NioEndpoint.NioSocketWrapper) socket.getAttachment(false);
         if (attach == null) {
             return;
         }
@@ -82,8 +82,8 @@ public class AjpNioProcessor extends Abs
         // The NIO connector uses the timeout configured on the wrapper in the
         // poller. Therefore, it needs to be reset once asycn processing has
         // finished.
-        final NioEndpoint.KeyAttachment attach =
-                (NioEndpoint.KeyAttachment)socketWrapper.getSocket().getAttachment(false);
+        final NioEndpoint.NioSocketWrapper attach =
+                (NioEndpoint.NioSocketWrapper)socketWrapper.getSocket().getAttachment(false);
         if (!getErrorState().isError() && attach != null &&
                 asyncStateMachine.isAsyncDispatching()) {
             long soTimeout = endpoint.getSoTimeout();
@@ -100,14 +100,14 @@ public class AjpNioProcessor extends Abs
 
 
     @Override
-    protected void setupSocket(SocketWrapper<NioChannel> socketWrapper)
+    protected void setupSocket(SocketWrapperBase<NioChannel> socketWrapper)
             throws IOException {
         // NO-OP
     }
 
 
     @Override
-    protected void setTimeout(SocketWrapper<NioChannel> socketWrapper,
+    protected void setTimeout(SocketWrapperBase<NioChannel> socketWrapper,
             int timeout) throws IOException {
         socketWrapper.setTimeout(timeout);
     }
@@ -117,8 +117,8 @@ public class AjpNioProcessor extends Abs
     protected int output(byte[] src, int offset, int length, boolean block)
             throws IOException {
 
-        NioEndpoint.KeyAttachment att =
-                (NioEndpoint.KeyAttachment) socketWrapper.getSocket().getAttachment(false);
+        NioEndpoint.NioSocketWrapper att =
+                (NioEndpoint.NioSocketWrapper) socketWrapper.getSocket().getAttachment(false);
         if ( att == null ) throw new IOException("Key must be cancelled");
 
         ByteBuffer writeBuffer =
@@ -185,8 +185,8 @@ public class AjpNioProcessor extends Abs
                 // Ignore
             }
             try {
-                NioEndpoint.KeyAttachment att =
-                        (NioEndpoint.KeyAttachment) socketWrapper.getSocket().getAttachment(false);
+                NioEndpoint.NioSocketWrapper att =
+                        (NioEndpoint.NioSocketWrapper) socketWrapper.getSocket().getAttachment(false);
                 if ( att == null ) throw new IOException("Key must be cancelled.");
                 nRead = pool.read(readBuffer, socketWrapper.getSocket(),
                         selector, att.getTimeout());

Modified: tomcat/trunk/java/org/apache/coyote/ajp/AjpNioProtocol.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/ajp/AjpNioProtocol.java?rev=1637917&r1=1637916&r2=1637917&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/coyote/ajp/AjpNioProtocol.java (original)
+++ tomcat/trunk/java/org/apache/coyote/ajp/AjpNioProtocol.java Mon Nov 10 16:45:04 2014
@@ -30,7 +30,7 @@ import org.apache.tomcat.util.net.NioCha
 import org.apache.tomcat.util.net.NioEndpoint;
 import org.apache.tomcat.util.net.NioEndpoint.Handler;
 import org.apache.tomcat.util.net.SSLImplementation;
-import org.apache.tomcat.util.net.SocketWrapper;
+import org.apache.tomcat.util.net.SocketWrapperBase;
 
 
 /**
@@ -145,7 +145,7 @@ public class AjpNioProtocol extends Abst
          * close, errors etc.
          */
         @Override
-        public void release(SocketWrapper<NioChannel> socket) {
+        public void release(SocketWrapperBase<NioChannel> socket) {
             Processor<NioChannel> processor =
                     connections.remove(socket.getSocket());
             if (processor != null) {
@@ -159,7 +159,7 @@ public class AjpNioProtocol extends Abst
          * required.
          */
         @Override
-        public void release(SocketWrapper<NioChannel> socket,
+        public void release(SocketWrapperBase<NioChannel> socket,
                 Processor<NioChannel> processor, boolean isSocketClosing,
                 boolean addToPoller) {
             processor.recycle(isSocketClosing);

Modified: tomcat/trunk/java/org/apache/coyote/http11/AbstractHttp11Processor.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/http11/AbstractHttp11Processor.java?rev=1637917&r1=1637916&r2=1637917&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/coyote/http11/AbstractHttp11Processor.java (original)
+++ tomcat/trunk/java/org/apache/coyote/http11/AbstractHttp11Processor.java Mon Nov 10 16:45:04 2014
@@ -54,7 +54,7 @@ import org.apache.tomcat.util.net.Abstra
 import org.apache.tomcat.util.net.AbstractEndpoint.Handler.SocketState;
 import org.apache.tomcat.util.net.DispatchType;
 import org.apache.tomcat.util.net.SocketStatus;
-import org.apache.tomcat.util.net.SocketWrapper;
+import org.apache.tomcat.util.net.SocketWrapperBase;
 import org.apache.tomcat.util.res.StringManager;
 
 public abstract class AbstractHttp11Processor<S> extends AbstractProcessor<S> {
@@ -897,7 +897,7 @@ public abstract class AbstractHttp11Proc
             break;
         }
         case DISPATCH_EXECUTE: {
-            SocketWrapper<S> wrapper = socketWrapper;
+            SocketWrapperBase<S> wrapper = socketWrapper;
             if (wrapper != null) {
                 getEndpoint().executeNonBlockingDispatches(wrapper);
             }
@@ -958,7 +958,7 @@ public abstract class AbstractHttp11Proc
      * @throws IOException error during an I/O operation
      */
     @Override
-    public SocketState process(SocketWrapper<S> socketWrapper)
+    public SocketState process(SocketWrapperBase<S> socketWrapper)
         throws IOException {
         RequestInfo rp = request.getRequestProcessor();
         rp.setStage(org.apache.coyote.Constants.STAGE_PARSE);
@@ -1766,7 +1766,7 @@ public abstract class AbstractHttp11Proc
      * @return true if the keep-alive loop should be broken
      */
     protected abstract boolean breakKeepAliveLoop(
-            SocketWrapper<S> socketWrapper);
+            SocketWrapperBase<S> socketWrapper);
 
 
     @Override

Modified: tomcat/trunk/java/org/apache/coyote/http11/AbstractInputBuffer.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/http11/AbstractInputBuffer.java?rev=1637917&r1=1637916&r2=1637917&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/coyote/http11/AbstractInputBuffer.java (original)
+++ tomcat/trunk/java/org/apache/coyote/http11/AbstractInputBuffer.java Mon Nov 10 16:45:04 2014
@@ -25,7 +25,7 @@ import org.apache.juli.logging.Log;
 import org.apache.tomcat.util.buf.ByteChunk;
 import org.apache.tomcat.util.http.MimeHeaders;
 import org.apache.tomcat.util.net.AbstractEndpoint;
-import org.apache.tomcat.util.net.SocketWrapper;
+import org.apache.tomcat.util.net.SocketWrapperBase;
 import org.apache.tomcat.util.res.StringManager;
 
 public abstract class AbstractInputBuffer<S> implements InputBuffer{
@@ -246,7 +246,7 @@ public abstract class AbstractInputBuffe
      */
     protected abstract boolean fill(boolean block) throws IOException;
 
-    protected abstract void init(SocketWrapper<S> socketWrapper,
+    protected abstract void init(SocketWrapperBase<S> socketWrapper,
             AbstractEndpoint<S> endpoint) throws IOException;
 
     protected abstract Log getLog();

Modified: tomcat/trunk/java/org/apache/coyote/http11/AbstractOutputBuffer.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/http11/AbstractOutputBuffer.java?rev=1637917&r1=1637916&r2=1637917&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/coyote/http11/AbstractOutputBuffer.java (original)
+++ tomcat/trunk/java/org/apache/coyote/http11/AbstractOutputBuffer.java Mon Nov 10 16:45:04 2014
@@ -31,7 +31,7 @@ import org.apache.tomcat.util.buf.ByteCh
 import org.apache.tomcat.util.buf.MessageBytes;
 import org.apache.tomcat.util.http.HttpMessages;
 import org.apache.tomcat.util.net.AbstractEndpoint;
-import org.apache.tomcat.util.net.SocketWrapper;
+import org.apache.tomcat.util.net.SocketWrapperBase;
 import org.apache.tomcat.util.res.StringManager;
 
 public abstract class AbstractOutputBuffer<S> implements OutputBuffer {
@@ -381,7 +381,7 @@ public abstract class AbstractOutputBuff
     }
 
 
-    public abstract void init(SocketWrapper<S> socketWrapper,
+    public abstract void init(SocketWrapperBase<S> socketWrapper,
             AbstractEndpoint<S> endpoint) throws IOException;
 
     public abstract void sendAck() throws IOException;

Modified: tomcat/trunk/java/org/apache/coyote/http11/Http11AprProcessor.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/http11/Http11AprProcessor.java?rev=1637917&r1=1637916&r2=1637917&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/coyote/http11/Http11AprProcessor.java (original)
+++ tomcat/trunk/java/org/apache/coyote/http11/Http11AprProcessor.java Mon Nov 10 16:45:04 2014
@@ -33,7 +33,7 @@ import org.apache.tomcat.jni.Sockaddr;
 import org.apache.tomcat.jni.Socket;
 import org.apache.tomcat.util.net.AprEndpoint;
 import org.apache.tomcat.util.net.SSLSupport;
-import org.apache.tomcat.util.net.SocketWrapper;
+import org.apache.tomcat.util.net.SocketWrapperBase;
 
 
 /**
@@ -140,7 +140,7 @@ public class Http11AprProcessor extends 
 
 
     @Override
-    protected boolean breakKeepAliveLoop(SocketWrapper<Long> socketWrapper) {
+    protected boolean breakKeepAliveLoop(SocketWrapperBase<Long> socketWrapper) {
         openSocket = keepAlive;
         // Do sendfile as needed: add socket to sendfile and end
         if (sendfileData != null && !getErrorState().isError()) {

Modified: tomcat/trunk/java/org/apache/coyote/http11/Http11AprProtocol.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/http11/Http11AprProtocol.java?rev=1637917&r1=1637916&r2=1637917&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/coyote/http11/Http11AprProtocol.java (original)
+++ tomcat/trunk/java/org/apache/coyote/http11/Http11AprProtocol.java Mon Nov 10 16:45:04 2014
@@ -31,7 +31,7 @@ import org.apache.tomcat.util.net.AprEnd
 import org.apache.tomcat.util.net.AprEndpoint.Handler;
 import org.apache.tomcat.util.net.AprEndpoint.Poller;
 import org.apache.tomcat.util.net.SocketStatus;
-import org.apache.tomcat.util.net.SocketWrapper;
+import org.apache.tomcat.util.net.SocketWrapperBase;
 
 
 /**
@@ -248,7 +248,7 @@ public class Http11AprProtocol extends A
          * @param addToPoller
          */
         @Override
-        public void release(SocketWrapper<Long> socket,
+        public void release(SocketWrapperBase<Long> socket,
                 Processor<Long> processor, boolean isSocketClosing,
                 boolean addToPoller) {
             processor.recycle(isSocketClosing);
@@ -261,7 +261,7 @@ public class Http11AprProtocol extends A
         }
 
         @Override
-        public SocketState process(SocketWrapper<Long> socket,
+        public SocketState process(SocketWrapperBase<Long> socket,
                 SocketStatus status) {
             if (proto.npnHandler != null) {
                 Processor<Long> processor = null;
@@ -283,13 +283,13 @@ public class Http11AprProtocol extends A
         }
 
         @Override
-        protected void initSsl(SocketWrapper<Long> socket,
+        protected void initSsl(SocketWrapperBase<Long> socket,
                 Processor<Long> processor) {
             // NOOP for APR
         }
 
         @Override
-        protected void longPoll(SocketWrapper<Long> socket,
+        protected void longPoll(SocketWrapperBase<Long> socket,
                 Processor<Long> processor) {
 
             if (processor.isAsync()) {
@@ -322,7 +322,7 @@ public class Http11AprProtocol extends A
 
         @Override
         protected Processor<Long> createUpgradeProcessor(
-                SocketWrapper<Long> socket, ByteBuffer leftoverInput,
+                SocketWrapperBase<Long> socket, ByteBuffer leftoverInput,
                 HttpUpgradeHandler httpUpgradeProcessor)
                 throws IOException {
             return new AprProcessor(socket, leftoverInput,

Modified: tomcat/trunk/java/org/apache/coyote/http11/Http11Nio2Processor.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/http11/Http11Nio2Processor.java?rev=1637917&r1=1637916&r2=1637917&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/coyote/http11/Http11Nio2Processor.java (original)
+++ tomcat/trunk/java/org/apache/coyote/http11/Http11Nio2Processor.java Mon Nov 10 16:45:04 2014
@@ -33,7 +33,7 @@ import org.apache.tomcat.util.net.Nio2En
 import org.apache.tomcat.util.net.SSLSupport;
 import org.apache.tomcat.util.net.SecureNio2Channel;
 import org.apache.tomcat.util.net.SocketStatus;
-import org.apache.tomcat.util.net.SocketWrapper;
+import org.apache.tomcat.util.net.SocketWrapperBase;
 
 
 /**
@@ -190,7 +190,7 @@ public class Http11Nio2Processor extends
 
     @Override
     protected boolean breakKeepAliveLoop(
-            SocketWrapper<Nio2Channel> socketWrapper) {
+            SocketWrapperBase<Nio2Channel> socketWrapper) {
         openSocket = keepAlive;
         // Do sendfile as needed: add socket to sendfile and end
         if (sendfileData != null && !getErrorState().isError()) {

Modified: tomcat/trunk/java/org/apache/coyote/http11/Http11Nio2Protocol.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/http11/Http11Nio2Protocol.java?rev=1637917&r1=1637916&r2=1637917&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/coyote/http11/Http11Nio2Protocol.java (original)
+++ tomcat/trunk/java/org/apache/coyote/http11/Http11Nio2Protocol.java Mon Nov 10 16:45:04 2014
@@ -36,7 +36,7 @@ import org.apache.tomcat.util.net.Nio2En
 import org.apache.tomcat.util.net.SSLImplementation;
 import org.apache.tomcat.util.net.SecureNio2Channel;
 import org.apache.tomcat.util.net.SocketStatus;
-import org.apache.tomcat.util.net.SocketWrapper;
+import org.apache.tomcat.util.net.SocketWrapperBase;
 
 
 /**
@@ -160,7 +160,7 @@ public class Http11Nio2Protocol extends 
          * close, errors etc.
          */
         @Override
-        public void release(SocketWrapper<Nio2Channel> socket) {
+        public void release(SocketWrapperBase<Nio2Channel> socket) {
             Processor<Nio2Channel> processor =
                 connections.remove(socket.getSocket());
             if (processor != null) {
@@ -170,7 +170,7 @@ public class Http11Nio2Protocol extends 
         }
 
         @Override
-        public SocketState process(SocketWrapper<Nio2Channel> socket,
+        public SocketState process(SocketWrapperBase<Nio2Channel> socket,
                 SocketStatus status) {
             if (proto.npnHandler != null) {
                 SocketState ss = proto.npnHandler.process(socket, status);
@@ -192,7 +192,7 @@ public class Http11Nio2Protocol extends 
          * @param addToPoller
          */
         @Override
-        public void release(SocketWrapper<Nio2Channel> socket,
+        public void release(SocketWrapperBase<Nio2Channel> socket,
                 Processor<Nio2Channel> processor, boolean isSocketClosing,
                 boolean addToPoller) {
             processor.recycle(isSocketClosing);
@@ -207,7 +207,7 @@ public class Http11Nio2Protocol extends 
 
 
         @Override
-        protected void initSsl(SocketWrapper<Nio2Channel> socket,
+        protected void initSsl(SocketWrapperBase<Nio2Channel> socket,
                 Processor<Nio2Channel> processor) {
             if (proto.isSSLEnabled() &&
                     (proto.sslImplementation != null)
@@ -223,7 +223,7 @@ public class Http11Nio2Protocol extends 
         }
 
         @Override
-        protected void longPoll(SocketWrapper<Nio2Channel> socket,
+        protected void longPoll(SocketWrapperBase<Nio2Channel> socket,
                 Processor<Nio2Channel> processor) {
             if (processor.isAsync()) {
                 socket.setAsync(true);
@@ -261,7 +261,7 @@ public class Http11Nio2Protocol extends 
 
         @Override
         protected Processor<Nio2Channel> createUpgradeProcessor(
-                SocketWrapper<Nio2Channel> socket, ByteBuffer leftoverInput,
+                SocketWrapperBase<Nio2Channel> socket, ByteBuffer leftoverInput,
                 HttpUpgradeHandler httpUpgradeProcessor)
                 throws IOException {
             return new Nio2Processor(proto.endpoint, socket, leftoverInput,

Modified: tomcat/trunk/java/org/apache/coyote/http11/Http11NioProcessor.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/http11/Http11NioProcessor.java?rev=1637917&r1=1637916&r2=1637917&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/coyote/http11/Http11NioProcessor.java (original)
+++ tomcat/trunk/java/org/apache/coyote/http11/Http11NioProcessor.java Mon Nov 10 16:45:04 2014
@@ -29,10 +29,10 @@ import org.apache.juli.logging.Log;
 import org.apache.juli.logging.LogFactory;
 import org.apache.tomcat.util.net.NioChannel;
 import org.apache.tomcat.util.net.NioEndpoint;
-import org.apache.tomcat.util.net.NioEndpoint.KeyAttachment;
+import org.apache.tomcat.util.net.NioEndpoint.NioSocketWrapper;
 import org.apache.tomcat.util.net.SSLSupport;
 import org.apache.tomcat.util.net.SecureNioChannel;
-import org.apache.tomcat.util.net.SocketWrapper;
+import org.apache.tomcat.util.net.SocketWrapperBase;
 
 
 /**
@@ -99,7 +99,7 @@ public class Http11NioProcessor extends 
 
     @Override
     protected void resetTimeouts() {
-        final NioEndpoint.KeyAttachment attach = (NioEndpoint.KeyAttachment)socketWrapper.getSocket().getAttachment(false);
+        final NioEndpoint.NioSocketWrapper attach = (NioEndpoint.NioSocketWrapper)socketWrapper.getSocket().getAttachment(false);
         if (!getErrorState().isError() && attach != null &&
                 asyncStateMachine.isAsyncDispatching()) {
             long soTimeout = endpoint.getSoTimeout();
@@ -179,17 +179,17 @@ public class Http11NioProcessor extends 
 
 
     @Override
-    protected boolean breakKeepAliveLoop(SocketWrapper<NioChannel> socketWrapper) {
+    protected boolean breakKeepAliveLoop(SocketWrapperBase<NioChannel> socketWrapper) {
         openSocket = keepAlive;
         // Do sendfile as needed: add socket to sendfile and end
         if (sendfileData != null && !getErrorState().isError()) {
-            ((KeyAttachment) socketWrapper).setSendfileData(sendfileData);
+            ((NioSocketWrapper) socketWrapper).setSendfileData(sendfileData);
             sendfileData.keepAlive = keepAlive;
             SelectionKey key = socketWrapper.getSocket().getIOChannel().keyFor(
                     socketWrapper.getSocket().getPoller().getSelector());
             //do the first write on this thread, might as well
             if (socketWrapper.getSocket().getPoller().processSendfile(key,
-                    (KeyAttachment) socketWrapper, true)) {
+                    (NioSocketWrapper) socketWrapper, true)) {
                 sendfileInProgress = true;
             } else {
                 // Write failed

Modified: tomcat/trunk/java/org/apache/coyote/http11/Http11NioProtocol.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/http11/Http11NioProtocol.java?rev=1637917&r1=1637916&r2=1637917&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/coyote/http11/Http11NioProtocol.java (original)
+++ tomcat/trunk/java/org/apache/coyote/http11/Http11NioProtocol.java Mon Nov 10 16:45:04 2014
@@ -36,7 +36,7 @@ import org.apache.tomcat.util.net.NioEnd
 import org.apache.tomcat.util.net.SSLImplementation;
 import org.apache.tomcat.util.net.SecureNioChannel;
 import org.apache.tomcat.util.net.SocketStatus;
-import org.apache.tomcat.util.net.SocketWrapper;
+import org.apache.tomcat.util.net.SocketWrapperBase;
 
 
 /**
@@ -206,7 +206,7 @@ public class Http11NioProtocol extends A
          * close, errors etc.
          */
         @Override
-        public void release(SocketWrapper<NioChannel> socket) {
+        public void release(SocketWrapperBase<NioChannel> socket) {
             Processor<NioChannel> processor =
                 connections.remove(socket.getSocket());
             if (processor != null) {
@@ -216,7 +216,7 @@ public class Http11NioProtocol extends A
         }
 
         @Override
-        public SocketState process(SocketWrapper<NioChannel> socket,
+        public SocketState process(SocketWrapperBase<NioChannel> socket,
                 SocketStatus status) {
             if (proto.npnHandler != null) {
                 SocketState ss = proto.npnHandler.process(socket, status);
@@ -238,7 +238,7 @@ public class Http11NioProtocol extends A
          * @param addToPoller
          */
         @Override
-        public void release(SocketWrapper<NioChannel> socket,
+        public void release(SocketWrapperBase<NioChannel> socket,
                 Processor<NioChannel> processor, boolean isSocketClosing,
                 boolean addToPoller) {
             processor.recycle(isSocketClosing);
@@ -250,7 +250,7 @@ public class Http11NioProtocol extends A
 
 
         @Override
-        protected void initSsl(SocketWrapper<NioChannel> socket,
+        protected void initSsl(SocketWrapperBase<NioChannel> socket,
                 Processor<NioChannel> processor) {
             if (proto.isSSLEnabled() &&
                     (proto.sslImplementation != null)
@@ -266,7 +266,7 @@ public class Http11NioProtocol extends A
         }
 
         @Override
-        protected void longPoll(SocketWrapper<NioChannel> socket,
+        protected void longPoll(SocketWrapperBase<NioChannel> socket,
                 Processor<NioChannel> processor) {
 
             if (processor.isAsync()) {
@@ -293,7 +293,7 @@ public class Http11NioProtocol extends A
 
         @Override
         protected Processor<NioChannel> createUpgradeProcessor(
-                SocketWrapper<NioChannel> socket, ByteBuffer leftoverInput,
+                SocketWrapperBase<NioChannel> socket, ByteBuffer leftoverInput,
                 HttpUpgradeHandler httpUpgradeProcessor)
                 throws IOException {
             return new NioProcessor(socket, leftoverInput, httpUpgradeProcessor,

Modified: tomcat/trunk/java/org/apache/coyote/http11/InternalAprInputBuffer.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/http11/InternalAprInputBuffer.java?rev=1637917&r1=1637916&r2=1637917&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/coyote/http11/InternalAprInputBuffer.java (original)
+++ tomcat/trunk/java/org/apache/coyote/http11/InternalAprInputBuffer.java Mon Nov 10 16:45:04 2014
@@ -33,7 +33,7 @@ import org.apache.tomcat.jni.Status;
 import org.apache.tomcat.util.buf.ByteChunk;
 import org.apache.tomcat.util.buf.MessageBytes;
 import org.apache.tomcat.util.net.AbstractEndpoint;
-import org.apache.tomcat.util.net.SocketWrapper;
+import org.apache.tomcat.util.net.SocketWrapperBase;
 
 /**
  * Implementation of InputBuffer which provides HTTP request header parsing as
@@ -91,7 +91,7 @@ public class InternalAprInputBuffer exte
     private long socket;
 
 
-    private SocketWrapper<Long> wrapper;
+    private SocketWrapperBase<Long> wrapper;
 
 
     // --------------------------------------------------------- Public Methods
@@ -547,7 +547,7 @@ public class InternalAprInputBuffer exte
     // ------------------------------------------------------ Protected Methods
 
     @Override
-    protected void init(SocketWrapper<Long> socketWrapper,
+    protected void init(SocketWrapperBase<Long> socketWrapper,
             AbstractEndpoint<Long> endpoint) throws IOException {
 
         socket = socketWrapper.getSocket().longValue();

Modified: tomcat/trunk/java/org/apache/coyote/http11/InternalAprOutputBuffer.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/http11/InternalAprOutputBuffer.java?rev=1637917&r1=1637916&r2=1637917&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/coyote/http11/InternalAprOutputBuffer.java (original)
+++ tomcat/trunk/java/org/apache/coyote/http11/InternalAprOutputBuffer.java Mon Nov 10 16:45:04 2014
@@ -31,7 +31,7 @@ import org.apache.tomcat.jni.Status;
 import org.apache.tomcat.util.buf.ByteChunk;
 import org.apache.tomcat.util.net.AbstractEndpoint;
 import org.apache.tomcat.util.net.AprEndpoint;
-import org.apache.tomcat.util.net.SocketWrapper;
+import org.apache.tomcat.util.net.SocketWrapperBase;
 
 /**
  * Output buffer.
@@ -68,7 +68,7 @@ public class InternalAprOutputBuffer ext
     private long socket;
 
 
-    private SocketWrapper<Long> wrapper;
+    private SocketWrapperBase<Long> wrapper;
 
 
     /**
@@ -90,7 +90,7 @@ public class InternalAprOutputBuffer ext
     // --------------------------------------------------------- Public Methods
 
     @Override
-    public void init(SocketWrapper<Long> socketWrapper,
+    public void init(SocketWrapperBase<Long> socketWrapper,
             AbstractEndpoint<Long> endpoint) throws IOException {
 
         wrapper = socketWrapper;

Modified: tomcat/trunk/java/org/apache/coyote/http11/InternalNio2InputBuffer.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/http11/InternalNio2InputBuffer.java?rev=1637917&r1=1637916&r2=1637917&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/coyote/http11/InternalNio2InputBuffer.java (original)
+++ tomcat/trunk/java/org/apache/coyote/http11/InternalNio2InputBuffer.java Mon Nov 10 16:45:04 2014
@@ -36,7 +36,7 @@ import org.apache.tomcat.util.net.Abstra
 import org.apache.tomcat.util.net.Nio2Channel;
 import org.apache.tomcat.util.net.Nio2Endpoint;
 import org.apache.tomcat.util.net.SocketStatus;
-import org.apache.tomcat.util.net.SocketWrapper;
+import org.apache.tomcat.util.net.SocketWrapperBase;
 
 /**
  * Output buffer implementation for NIO2.
@@ -57,7 +57,7 @@ public class InternalNio2InputBuffer ext
     /**
      * Underlying socket.
      */
-    private SocketWrapper<Nio2Channel> socket;
+    private SocketWrapperBase<Nio2Channel> socket;
 
     /**
      * Track write interest
@@ -67,7 +67,7 @@ public class InternalNio2InputBuffer ext
     /**
      * The completion handler used for asynchronous read operations
      */
-    private CompletionHandler<Integer, SocketWrapper<Nio2Channel>> completionHandler;
+    private CompletionHandler<Integer, SocketWrapperBase<Nio2Channel>> completionHandler;
 
     /**
      * The associated endpoint.
@@ -131,7 +131,7 @@ public class InternalNio2InputBuffer ext
     // ------------------------------------------------------ Protected Methods
 
     @Override
-    protected void init(SocketWrapper<Nio2Channel> socketWrapper,
+    protected void init(SocketWrapperBase<Nio2Channel> socketWrapper,
             AbstractEndpoint<Nio2Channel> associatedEndpoint) throws IOException {
 
         endpoint = associatedEndpoint;
@@ -149,10 +149,10 @@ public class InternalNio2InputBuffer ext
         }
 
         // Initialize the completion handler
-        this.completionHandler = new CompletionHandler<Integer, SocketWrapper<Nio2Channel>>() {
+        this.completionHandler = new CompletionHandler<Integer, SocketWrapperBase<Nio2Channel>>() {
 
             @Override
-            public void completed(Integer nBytes, SocketWrapper<Nio2Channel> attachment) {
+            public void completed(Integer nBytes, SocketWrapperBase<Nio2Channel> attachment) {
                 boolean notify = false;
                 synchronized (completionHandler) {
                     if (nBytes.intValue() < 0) {
@@ -171,7 +171,7 @@ public class InternalNio2InputBuffer ext
             }
 
             @Override
-            public void failed(Throwable exc, SocketWrapper<Nio2Channel> attachment) {
+            public void failed(Throwable exc, SocketWrapperBase<Nio2Channel> attachment) {
                 attachment.setError(true);
                 if (exc instanceof IOException) {
                     e = (IOException) exc;

Modified: tomcat/trunk/java/org/apache/coyote/http11/InternalNio2OutputBuffer.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/http11/InternalNio2OutputBuffer.java?rev=1637917&r1=1637916&r2=1637917&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/coyote/http11/InternalNio2OutputBuffer.java (original)
+++ tomcat/trunk/java/org/apache/coyote/http11/InternalNio2OutputBuffer.java Mon Nov 10 16:45:04 2014
@@ -37,7 +37,7 @@ import org.apache.tomcat.util.net.Abstra
 import org.apache.tomcat.util.net.Nio2Channel;
 import org.apache.tomcat.util.net.Nio2Endpoint;
 import org.apache.tomcat.util.net.SocketStatus;
-import org.apache.tomcat.util.net.SocketWrapper;
+import org.apache.tomcat.util.net.SocketWrapperBase;
 
 /**
  * Output buffer implementation for NIO2.
@@ -59,7 +59,7 @@ public class InternalNio2OutputBuffer ex
     /**
      * Underlying socket.
      */
-    private SocketWrapper<Nio2Channel> socket;
+    private SocketWrapperBase<Nio2Channel> socket;
 
     /**
      * Track write interest
@@ -104,7 +104,7 @@ public class InternalNio2OutputBuffer ex
     // --------------------------------------------------------- Public Methods
 
     @Override
-    public void init(SocketWrapper<Nio2Channel> socketWrapper,
+    public void init(SocketWrapperBase<Nio2Channel> socketWrapper,
             AbstractEndpoint<Nio2Channel> associatedEndpoint) throws IOException {
         this.socket = socketWrapper;
         this.endpoint = associatedEndpoint;

Modified: tomcat/trunk/java/org/apache/coyote/http11/InternalNioInputBuffer.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/http11/InternalNioInputBuffer.java?rev=1637917&r1=1637916&r2=1637917&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/coyote/http11/InternalNioInputBuffer.java (original)
+++ tomcat/trunk/java/org/apache/coyote/http11/InternalNioInputBuffer.java Mon Nov 10 16:45:04 2014
@@ -30,7 +30,7 @@ import org.apache.tomcat.util.net.Abstra
 import org.apache.tomcat.util.net.NioChannel;
 import org.apache.tomcat.util.net.NioEndpoint;
 import org.apache.tomcat.util.net.NioSelectorPool;
-import org.apache.tomcat.util.net.SocketWrapper;
+import org.apache.tomcat.util.net.SocketWrapperBase;
 
 /**
  * Implementation of InputBuffer which provides HTTP request header parsing as
@@ -84,7 +84,7 @@ public class InternalNioInputBuffer exte
     // ------------------------------------------------------ Protected Methods
 
     @Override
-    protected void init(SocketWrapper<NioChannel> socketWrapper,
+    protected void init(SocketWrapperBase<NioChannel> socketWrapper,
             AbstractEndpoint<NioChannel> endpoint) throws IOException {
 
         socket = socketWrapper.getSocket();
@@ -125,8 +125,8 @@ public class InternalNioInputBuffer exte
                 // Ignore
             }
             try {
-                NioEndpoint.KeyAttachment att =
-                        (NioEndpoint.KeyAttachment) socket.getAttachment(false);
+                NioEndpoint.NioSocketWrapper att =
+                        (NioEndpoint.NioSocketWrapper) socket.getAttachment(false);
                 if (att == null) {
                     throw new IOException("Key must be cancelled.");
                 }

Modified: tomcat/trunk/java/org/apache/coyote/http11/InternalNioOutputBuffer.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/http11/InternalNioOutputBuffer.java?rev=1637917&r1=1637916&r2=1637917&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/coyote/http11/InternalNioOutputBuffer.java (original)
+++ tomcat/trunk/java/org/apache/coyote/http11/InternalNioOutputBuffer.java Mon Nov 10 16:45:04 2014
@@ -31,7 +31,7 @@ import org.apache.tomcat.util.net.Abstra
 import org.apache.tomcat.util.net.NioChannel;
 import org.apache.tomcat.util.net.NioEndpoint;
 import org.apache.tomcat.util.net.NioSelectorPool;
-import org.apache.tomcat.util.net.SocketWrapper;
+import org.apache.tomcat.util.net.SocketWrapperBase;
 
 /**
  * Output buffer.
@@ -72,7 +72,7 @@ public class InternalNioOutputBuffer ext
     // --------------------------------------------------------- Public Methods
 
     @Override
-    public void init(SocketWrapper<NioChannel> socketWrapper,
+    public void init(SocketWrapperBase<NioChannel> socketWrapper,
             AbstractEndpoint<NioChannel> endpoint) throws IOException {
 
         socket = socketWrapper.getSocket();
@@ -126,7 +126,7 @@ public class InternalNioOutputBuffer ext
         }
 
         int written = 0;
-        NioEndpoint.KeyAttachment att = (NioEndpoint.KeyAttachment)socket.getAttachment(false);
+        NioEndpoint.NioSocketWrapper att = (NioEndpoint.NioSocketWrapper)socket.getAttachment(false);
         if ( att == null ) throw new IOException("Key must be cancelled");
         long writeTimeout = att.getWriteTimeout();
         Selector selector = null;
@@ -203,7 +203,7 @@ public class InternalNioOutputBuffer ext
             }
         }
 
-        NioEndpoint.KeyAttachment ka = (NioEndpoint.KeyAttachment)socket.getAttachment(false);
+        NioEndpoint.NioSocketWrapper ka = (NioEndpoint.NioSocketWrapper)socket.getAttachment(false);
         if (ka != null) ka.access();//prevent timeouts for just doing client writes
 
         if (!isBlocking() && length > 0) {
@@ -233,7 +233,7 @@ public class InternalNioOutputBuffer ext
         //prevent timeout for async,
         SelectionKey key = socket.getIOChannel().keyFor(socket.getPoller().getSelector());
         if (key != null) {
-            NioEndpoint.KeyAttachment attach = (NioEndpoint.KeyAttachment) key.attachment();
+            NioEndpoint.NioSocketWrapper attach = (NioEndpoint.NioSocketWrapper) key.attachment();
             attach.access();
         }
 
@@ -275,7 +275,7 @@ public class InternalNioOutputBuffer ext
 
     @Override
     protected void registerWriteInterest() throws IOException {
-        NioEndpoint.KeyAttachment att = (NioEndpoint.KeyAttachment)socket.getAttachment(false);
+        NioEndpoint.NioSocketWrapper att = (NioEndpoint.NioSocketWrapper)socket.getAttachment(false);
         if (att == null) {
             throw new IOException("Key must be cancelled");
         }

Modified: tomcat/trunk/java/org/apache/coyote/http11/NpnHandler.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/http11/NpnHandler.java?rev=1637917&r1=1637916&r2=1637917&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/coyote/http11/NpnHandler.java (original)
+++ tomcat/trunk/java/org/apache/coyote/http11/NpnHandler.java Mon Nov 10 16:45:04 2014
@@ -21,7 +21,7 @@ import org.apache.coyote.Adapter;
 import org.apache.tomcat.util.net.AbstractEndpoint;
 import org.apache.tomcat.util.net.AbstractEndpoint.Handler.SocketState;
 import org.apache.tomcat.util.net.SocketStatus;
-import org.apache.tomcat.util.net.SocketWrapper;
+import org.apache.tomcat.util.net.SocketWrapperBase;
 
 /**
  * Interface specific for protocols that negotiate at NPN level, like
@@ -37,7 +37,7 @@ public interface NpnHandler<S> {
      * @return OPEN if the socket doesn't have the right npn.
      *    CLOSE if processing is done. LONG to request read polling.
      */
-    SocketState process(SocketWrapper<S> socket, SocketStatus status);
+    SocketState process(SocketWrapperBase<S> socket, SocketStatus status);
 
     /**
      * Initialize the npn handler.

Modified: tomcat/trunk/java/org/apache/coyote/http11/upgrade/AbstractProcessor.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/http11/upgrade/AbstractProcessor.java?rev=1637917&r1=1637916&r2=1637917&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/coyote/http11/upgrade/AbstractProcessor.java (original)
+++ tomcat/trunk/java/org/apache/coyote/http11/upgrade/AbstractProcessor.java Mon Nov 10 16:45:04 2014
@@ -31,7 +31,7 @@ import org.apache.juli.logging.Log;
 import org.apache.tomcat.util.net.AbstractEndpoint.Handler.SocketState;
 import org.apache.tomcat.util.net.SSLSupport;
 import org.apache.tomcat.util.net.SocketStatus;
-import org.apache.tomcat.util.net.SocketWrapper;
+import org.apache.tomcat.util.net.SocketWrapperBase;
 import org.apache.tomcat.util.res.StringManager;
 
 public abstract class AbstractProcessor<S>
@@ -135,7 +135,7 @@ public abstract class AbstractProcessor<
     }
 
     @Override
-    public final SocketState process(SocketWrapper<S> socketWrapper)
+    public final SocketState process(SocketWrapperBase<S> socketWrapper)
             throws IOException {
         return null;
     }

Modified: tomcat/trunk/java/org/apache/coyote/http11/upgrade/AbstractServletOutputStream.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/http11/upgrade/AbstractServletOutputStream.java?rev=1637917&r1=1637916&r2=1637917&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/coyote/http11/upgrade/AbstractServletOutputStream.java (original)
+++ tomcat/trunk/java/org/apache/coyote/http11/upgrade/AbstractServletOutputStream.java Mon Nov 10 16:45:04 2014
@@ -23,7 +23,7 @@ import javax.servlet.WriteListener;
 
 import org.apache.tomcat.util.ExceptionUtils;
 import org.apache.tomcat.util.net.DispatchType;
-import org.apache.tomcat.util.net.SocketWrapper;
+import org.apache.tomcat.util.net.SocketWrapperBase;
 import org.apache.tomcat.util.res.StringManager;
 
 public abstract class AbstractServletOutputStream<S> extends ServletOutputStream {
@@ -31,7 +31,7 @@ public abstract class AbstractServletOut
     protected static final StringManager sm =
             StringManager.getManager(Constants.Package);
 
-    protected final SocketWrapper<S> socketWrapper;
+    protected final SocketWrapperBase<S> socketWrapper;
 
     // Used to ensure that isReady() and onWritePossible() have a consistent
     // view of buffer and fireListener when determining if the listener should
@@ -62,7 +62,7 @@ public abstract class AbstractServletOut
     private final int asyncWriteBufferSize;
 
 
-    public AbstractServletOutputStream(SocketWrapper<S> socketWrapper,
+    public AbstractServletOutputStream(SocketWrapperBase<S> socketWrapper,
             int asyncWriteBufferSize) {
         this.socketWrapper = socketWrapper;
         this.asyncWriteBufferSize = asyncWriteBufferSize;

Modified: tomcat/trunk/java/org/apache/coyote/http11/upgrade/AprProcessor.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/http11/upgrade/AprProcessor.java?rev=1637917&r1=1637916&r2=1637917&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/coyote/http11/upgrade/AprProcessor.java (original)
+++ tomcat/trunk/java/org/apache/coyote/http11/upgrade/AprProcessor.java Mon Nov 10 16:45:04 2014
@@ -24,7 +24,7 @@ import org.apache.juli.logging.Log;
 import org.apache.juli.logging.LogFactory;
 import org.apache.tomcat.jni.Socket;
 import org.apache.tomcat.util.net.AprEndpoint;
-import org.apache.tomcat.util.net.SocketWrapper;
+import org.apache.tomcat.util.net.SocketWrapperBase;
 
 public class AprProcessor extends AbstractProcessor<Long> {
 
@@ -34,7 +34,7 @@ public class AprProcessor extends Abstra
 
     private static final int INFINITE_TIMEOUT = -1;
 
-    public AprProcessor(SocketWrapper<Long> wrapper, ByteBuffer leftoverInput,
+    public AprProcessor(SocketWrapperBase<Long> wrapper, ByteBuffer leftoverInput,
             HttpUpgradeHandler httpUpgradeProcessor, AprEndpoint endpoint,
             int asyncWriteBufferSize) {
         super(httpUpgradeProcessor,

Modified: tomcat/trunk/java/org/apache/coyote/http11/upgrade/AprServletInputStream.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/http11/upgrade/AprServletInputStream.java?rev=1637917&r1=1637916&r2=1637917&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/coyote/http11/upgrade/AprServletInputStream.java (original)
+++ tomcat/trunk/java/org/apache/coyote/http11/upgrade/AprServletInputStream.java Mon Nov 10 16:45:04 2014
@@ -27,20 +27,20 @@ import org.apache.juli.logging.LogFactor
 import org.apache.tomcat.jni.OS;
 import org.apache.tomcat.jni.Socket;
 import org.apache.tomcat.jni.Status;
-import org.apache.tomcat.util.net.SocketWrapper;
+import org.apache.tomcat.util.net.SocketWrapperBase;
 
 public class AprServletInputStream extends AbstractServletInputStream {
 
     private static final Log log = LogFactory.getLog(AprServletInputStream.class);
 
-    private final SocketWrapper<Long> wrapper;
+    private final SocketWrapperBase<Long> wrapper;
     private final long socket;
     private ByteBuffer leftoverInput;
     private volatile boolean eagain = false;
     private volatile boolean closed = false;
 
 
-    public AprServletInputStream(SocketWrapper<Long> wrapper, ByteBuffer leftoverInput) {
+    public AprServletInputStream(SocketWrapperBase<Long> wrapper, ByteBuffer leftoverInput) {
         this.wrapper = wrapper;
         this.socket = wrapper.getSocket().longValue();
         if (leftoverInput != null) {

Modified: tomcat/trunk/java/org/apache/coyote/http11/upgrade/AprServletOutputStream.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/http11/upgrade/AprServletOutputStream.java?rev=1637917&r1=1637916&r2=1637917&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/coyote/http11/upgrade/AprServletOutputStream.java (original)
+++ tomcat/trunk/java/org/apache/coyote/http11/upgrade/AprServletOutputStream.java Mon Nov 10 16:45:04 2014
@@ -26,7 +26,7 @@ import org.apache.tomcat.jni.OS;
 import org.apache.tomcat.jni.Socket;
 import org.apache.tomcat.jni.Status;
 import org.apache.tomcat.util.net.AprEndpoint;
-import org.apache.tomcat.util.net.SocketWrapper;
+import org.apache.tomcat.util.net.SocketWrapperBase;
 
 public class AprServletOutputStream extends AbstractServletOutputStream<Long> {
 
@@ -37,7 +37,7 @@ public class AprServletOutputStream exte
     private volatile boolean closed = false;
     private final ByteBuffer sslOutputBuffer;
 
-    public AprServletOutputStream(SocketWrapper<Long> socketWrapper,
+    public AprServletOutputStream(SocketWrapperBase<Long> socketWrapper,
             int asyncWriteBufferSize, AprEndpoint endpoint) {
         super(socketWrapper, asyncWriteBufferSize);
         this.endpoint = endpoint;

Modified: tomcat/trunk/java/org/apache/coyote/http11/upgrade/Nio2Processor.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/http11/upgrade/Nio2Processor.java?rev=1637917&r1=1637916&r2=1637917&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/coyote/http11/upgrade/Nio2Processor.java (original)
+++ tomcat/trunk/java/org/apache/coyote/http11/upgrade/Nio2Processor.java Mon Nov 10 16:45:04 2014
@@ -24,7 +24,7 @@ import org.apache.juli.logging.Log;
 import org.apache.juli.logging.LogFactory;
 import org.apache.tomcat.util.net.AbstractEndpoint;
 import org.apache.tomcat.util.net.Nio2Channel;
-import org.apache.tomcat.util.net.SocketWrapper;
+import org.apache.tomcat.util.net.SocketWrapperBase;
 
 public class Nio2Processor extends AbstractProcessor<Nio2Channel> {
 
@@ -35,7 +35,7 @@ public class Nio2Processor extends Abstr
     private static final int INFINITE_TIMEOUT = -1;
 
     public Nio2Processor(AbstractEndpoint<Nio2Channel> endpoint,
-            SocketWrapper<Nio2Channel> wrapper, ByteBuffer leftoverInput,
+            SocketWrapperBase<Nio2Channel> wrapper, ByteBuffer leftoverInput,
             HttpUpgradeHandler httpUpgradeProcessor,
             int asyncWriteBufferSize) {
         super(httpUpgradeProcessor,

Modified: tomcat/trunk/java/org/apache/coyote/http11/upgrade/Nio2ServletInputStream.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/http11/upgrade/Nio2ServletInputStream.java?rev=1637917&r1=1637916&r2=1637917&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/coyote/http11/upgrade/Nio2ServletInputStream.java (original)
+++ tomcat/trunk/java/org/apache/coyote/http11/upgrade/Nio2ServletInputStream.java Mon Nov 10 16:45:04 2014
@@ -30,25 +30,25 @@ import org.apache.tomcat.util.net.Abstra
 import org.apache.tomcat.util.net.Nio2Channel;
 import org.apache.tomcat.util.net.Nio2Endpoint;
 import org.apache.tomcat.util.net.SocketStatus;
-import org.apache.tomcat.util.net.SocketWrapper;
+import org.apache.tomcat.util.net.SocketWrapperBase;
 
 public class Nio2ServletInputStream extends AbstractServletInputStream {
 
     private final AbstractEndpoint<Nio2Channel> endpoint;
-    private final SocketWrapper<Nio2Channel> wrapper;
+    private final SocketWrapperBase<Nio2Channel> wrapper;
     private final Nio2Channel channel;
-    private final CompletionHandler<Integer, SocketWrapper<Nio2Channel>> completionHandler;
+    private final CompletionHandler<Integer, SocketWrapperBase<Nio2Channel>> completionHandler;
     private boolean flipped = false;
     private volatile boolean readPending = false;
     private volatile boolean interest = true;
 
-    public Nio2ServletInputStream(SocketWrapper<Nio2Channel> wrapper, AbstractEndpoint<Nio2Channel> endpoint0) {
+    public Nio2ServletInputStream(SocketWrapperBase<Nio2Channel> wrapper, AbstractEndpoint<Nio2Channel> endpoint0) {
         this.endpoint = endpoint0;
         this.wrapper = wrapper;
         this.channel = wrapper.getSocket();
-        this.completionHandler = new CompletionHandler<Integer, SocketWrapper<Nio2Channel>>() {
+        this.completionHandler = new CompletionHandler<Integer, SocketWrapperBase<Nio2Channel>>() {
             @Override
-            public void completed(Integer nBytes, SocketWrapper<Nio2Channel> attachment) {
+            public void completed(Integer nBytes, SocketWrapperBase<Nio2Channel> attachment) {
                 boolean notify = false;
                 synchronized (completionHandler) {
                     if (nBytes.intValue() < 0) {
@@ -66,7 +66,7 @@ public class Nio2ServletInputStream exte
                 }
             }
             @Override
-            public void failed(Throwable exc, SocketWrapper<Nio2Channel> attachment) {
+            public void failed(Throwable exc, SocketWrapperBase<Nio2Channel> attachment) {
                 attachment.setError(true);
                 readPending = false;
                 if (exc instanceof AsynchronousCloseException) {

Modified: tomcat/trunk/java/org/apache/coyote/http11/upgrade/Nio2ServletOutputStream.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/http11/upgrade/Nio2ServletOutputStream.java?rev=1637917&r1=1637916&r2=1637917&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/coyote/http11/upgrade/Nio2ServletOutputStream.java (original)
+++ tomcat/trunk/java/org/apache/coyote/http11/upgrade/Nio2ServletOutputStream.java Mon Nov 10 16:45:04 2014
@@ -31,7 +31,7 @@ import org.apache.tomcat.util.net.Abstra
 import org.apache.tomcat.util.net.Nio2Channel;
 import org.apache.tomcat.util.net.Nio2Endpoint;
 import org.apache.tomcat.util.net.SocketStatus;
-import org.apache.tomcat.util.net.SocketWrapper;
+import org.apache.tomcat.util.net.SocketWrapperBase;
 
 public class Nio2ServletOutputStream extends AbstractServletOutputStream<Nio2Channel> {
 
@@ -41,7 +41,7 @@ public class Nio2ServletOutputStream ext
     private final CompletionHandler<Integer, ByteBuffer> completionHandler;
     private final Semaphore writePending = new Semaphore(1);
 
-    public Nio2ServletOutputStream(SocketWrapper<Nio2Channel> socketWrapper0,
+    public Nio2ServletOutputStream(SocketWrapperBase<Nio2Channel> socketWrapper0,
             int asyncWriteBufferSize, AbstractEndpoint<Nio2Channel> endpoint0) {
         super(socketWrapper0, asyncWriteBufferSize);
         this.endpoint = endpoint0;

Modified: tomcat/trunk/java/org/apache/coyote/http11/upgrade/NioProcessor.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/http11/upgrade/NioProcessor.java?rev=1637917&r1=1637916&r2=1637917&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/coyote/http11/upgrade/NioProcessor.java (original)
+++ tomcat/trunk/java/org/apache/coyote/http11/upgrade/NioProcessor.java Mon Nov 10 16:45:04 2014
@@ -24,7 +24,7 @@ import org.apache.juli.logging.Log;
 import org.apache.juli.logging.LogFactory;
 import org.apache.tomcat.util.net.NioChannel;
 import org.apache.tomcat.util.net.NioSelectorPool;
-import org.apache.tomcat.util.net.SocketWrapper;
+import org.apache.tomcat.util.net.SocketWrapperBase;
 
 public class NioProcessor extends AbstractProcessor<NioChannel> {
 
@@ -34,7 +34,7 @@ public class NioProcessor extends Abstra
 
     private static final int INFINITE_TIMEOUT = -1;
 
-    public NioProcessor(SocketWrapper<NioChannel> wrapper, ByteBuffer leftoverInput,
+    public NioProcessor(SocketWrapperBase<NioChannel> wrapper, ByteBuffer leftoverInput,
             HttpUpgradeHandler httpUpgradeProcessor, NioSelectorPool pool,
             int asyncWriteBufferSize) {
         super(httpUpgradeProcessor,

Modified: tomcat/trunk/java/org/apache/coyote/http11/upgrade/NioServletInputStream.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/http11/upgrade/NioServletInputStream.java?rev=1637917&r1=1637916&r2=1637917&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/coyote/http11/upgrade/NioServletInputStream.java (original)
+++ tomcat/trunk/java/org/apache/coyote/http11/upgrade/NioServletInputStream.java Mon Nov 10 16:45:04 2014
@@ -24,14 +24,14 @@ import java.nio.channels.Selector;
 import org.apache.tomcat.util.net.NioChannel;
 import org.apache.tomcat.util.net.NioEndpoint;
 import org.apache.tomcat.util.net.NioSelectorPool;
-import org.apache.tomcat.util.net.SocketWrapper;
+import org.apache.tomcat.util.net.SocketWrapperBase;
 
 public class NioServletInputStream extends AbstractServletInputStream {
 
     private final NioChannel channel;
     private final NioSelectorPool pool;
 
-    public NioServletInputStream(SocketWrapper<NioChannel> wrapper,
+    public NioServletInputStream(SocketWrapperBase<NioChannel> wrapper,
             NioSelectorPool pool) {
         this.channel = wrapper.getSocket();
         this.pool = pool;
@@ -118,8 +118,8 @@ public class NioServletInputStream exten
                 // Ignore
             }
             try {
-                NioEndpoint.KeyAttachment att =
-                        (NioEndpoint.KeyAttachment) channel.getAttachment(false);
+                NioEndpoint.NioSocketWrapper att =
+                        (NioEndpoint.NioSocketWrapper) channel.getAttachment(false);
                 if (att == null) {
                     throw new IOException("Key must be cancelled.");
                 }

Modified: tomcat/trunk/java/org/apache/coyote/http11/upgrade/NioServletOutputStream.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/http11/upgrade/NioServletOutputStream.java?rev=1637917&r1=1637916&r2=1637917&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/coyote/http11/upgrade/NioServletOutputStream.java (original)
+++ tomcat/trunk/java/org/apache/coyote/http11/upgrade/NioServletOutputStream.java Mon Nov 10 16:45:04 2014
@@ -23,7 +23,7 @@ import java.nio.channels.Selector;
 import org.apache.tomcat.util.net.NioChannel;
 import org.apache.tomcat.util.net.NioEndpoint;
 import org.apache.tomcat.util.net.NioSelectorPool;
-import org.apache.tomcat.util.net.SocketWrapper;
+import org.apache.tomcat.util.net.SocketWrapperBase;
 
 public class NioServletOutputStream extends AbstractServletOutputStream<NioChannel> {
 
@@ -32,7 +32,7 @@ public class NioServletOutputStream exte
     private final int maxWrite;
 
 
-    public NioServletOutputStream(SocketWrapper<NioChannel> socketWrapper,
+    public NioServletOutputStream(SocketWrapperBase<NioChannel> socketWrapper,
             int asyncWriteBufferSize, NioSelectorPool pool) {
         super(socketWrapper, asyncWriteBufferSize);
         channel = socketWrapper.getSocket();
@@ -78,8 +78,8 @@ public class NioServletOutputStream exte
         channel.getBufHandler().getWriteBuffer().flip();
 
         int written = 0;
-        NioEndpoint.KeyAttachment att =
-                (NioEndpoint.KeyAttachment) channel.getAttachment(false);
+        NioEndpoint.NioSocketWrapper att =
+                (NioEndpoint.NioSocketWrapper) channel.getAttachment(false);
         if (att == null) {
             throw new IOException("Key must be cancelled");
         }
@@ -107,8 +107,8 @@ public class NioServletOutputStream exte
 
     @Override
     protected void doFlush() throws IOException {
-        NioEndpoint.KeyAttachment att =
-                (NioEndpoint.KeyAttachment) channel.getAttachment(false);
+        NioEndpoint.NioSocketWrapper att =
+                (NioEndpoint.NioSocketWrapper) channel.getAttachment(false);
         if (att == null) {
             throw new IOException("Key must be cancelled");
         }

Modified: tomcat/trunk/java/org/apache/coyote/spdy/SpdyAprNpnHandler.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/spdy/SpdyAprNpnHandler.java?rev=1637917&r1=1637916&r2=1637917&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/coyote/spdy/SpdyAprNpnHandler.java (original)
+++ tomcat/trunk/java/org/apache/coyote/spdy/SpdyAprNpnHandler.java Mon Nov 10 16:45:04 2014
@@ -32,7 +32,7 @@ import org.apache.tomcat.util.net.Abstra
 import org.apache.tomcat.util.net.AbstractEndpoint.Handler.SocketState;
 import org.apache.tomcat.util.net.AprEndpoint;
 import org.apache.tomcat.util.net.SocketStatus;
-import org.apache.tomcat.util.net.SocketWrapper;
+import org.apache.tomcat.util.net.SocketWrapperBase;
 
 /**
  * Plugin for APR connector providing SPDY support via NPN negotiation.
@@ -90,7 +90,7 @@ public class SpdyAprNpnHandler implement
     }
 
     @Override
-    public SocketState process(SocketWrapper<Long> socketWrapper,
+    public SocketState process(SocketWrapperBase<Long> socketWrapper,
             SocketStatus status) {
 
         long socket = socketWrapper.getSocket().longValue();

Modified: tomcat/trunk/java/org/apache/coyote/spdy/SpdyProcessor.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/spdy/SpdyProcessor.java?rev=1637917&r1=1637916&r2=1637917&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/coyote/spdy/SpdyProcessor.java (original)
+++ tomcat/trunk/java/org/apache/coyote/spdy/SpdyProcessor.java Mon Nov 10 16:45:04 2014
@@ -50,7 +50,7 @@ import org.apache.tomcat.util.net.Abstra
 import org.apache.tomcat.util.net.AbstractEndpoint.Handler.SocketState;
 import org.apache.tomcat.util.net.SSLSupport;
 import org.apache.tomcat.util.net.SocketStatus;
-import org.apache.tomcat.util.net.SocketWrapper;
+import org.apache.tomcat.util.net.SocketWrapperBase;
 
 /**
  * A spdy stream ( multiplexed over a spdy tcp connection ) processed by a
@@ -507,7 +507,7 @@ public class SpdyProcessor<S> extends Ab
     }
 
     @Override
-    public SocketState process(SocketWrapper<S> socket)
+    public SocketState process(SocketWrapperBase<S> socket)
             throws IOException {
         throw new IOException("Unimplemented");
     }

Modified: tomcat/trunk/java/org/apache/coyote/spdy/SpdyProxyProtocol.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/spdy/SpdyProxyProtocol.java?rev=1637917&r1=1637916&r2=1637917&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/coyote/spdy/SpdyProxyProtocol.java (original)
+++ tomcat/trunk/java/org/apache/coyote/spdy/SpdyProxyProtocol.java Mon Nov 10 16:45:04 2014
@@ -35,7 +35,7 @@ import org.apache.tomcat.util.net.NioCha
 import org.apache.tomcat.util.net.NioEndpoint;
 import org.apache.tomcat.util.net.SSLImplementation;
 import org.apache.tomcat.util.net.SocketStatus;
-import org.apache.tomcat.util.net.SocketWrapper;
+import org.apache.tomcat.util.net.SocketWrapperBase;
 
 /**
  * SPDY in 'proxy' mode - no SSL and no header compression.
@@ -130,7 +130,7 @@ public class SpdyProxyProtocol extends A
         }
 
         @Override
-        public SocketState process(SocketWrapper<NioChannel> socket,
+        public SocketState process(SocketWrapperBase<NioChannel> socket,
                 SocketStatus status) {
 
             spdyContext.getNetSupport().onAccept(socket.getSocket());
@@ -143,7 +143,7 @@ public class SpdyProxyProtocol extends A
         }
 
         @Override
-        public void release(SocketWrapper<NioChannel> socket) {
+        public void release(SocketWrapperBase<NioChannel> socket) {
             // TODO Auto-generated method stub
         }
 

Modified: tomcat/trunk/java/org/apache/tomcat/util/net/AbstractEndpoint.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/net/AbstractEndpoint.java?rev=1637917&r1=1637916&r2=1637917&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/tomcat/util/net/AbstractEndpoint.java (original)
+++ tomcat/trunk/java/org/apache/tomcat/util/net/AbstractEndpoint.java Mon Nov 10 16:45:04 2014
@@ -127,7 +127,7 @@ public abstract class AbstractEndpoint<S
                     // Ignore
                 }
                 long now = System.currentTimeMillis();
-                for (SocketWrapper<S> socket : waitingRequests) {
+                for (SocketWrapperBase<S> socket : waitingRequests) {
                     long access = socket.getLastAccess();
                     if (socket.getTimeout() > 0 && (now - access) > socket.getTimeout()) {
                         processSocket(socket, SocketStatus.TIMEOUT, true);
@@ -678,11 +678,11 @@ public abstract class AbstractEndpoint<S
      * @param dispatch      Should the processing be performed on a new
      *                          container thread
      */
-    public abstract void processSocket(SocketWrapper<S> socketWrapper,
+    public abstract void processSocket(SocketWrapperBase<S> socketWrapper,
             SocketStatus socketStatus, boolean dispatch);
 
 
-    public void executeNonBlockingDispatches(SocketWrapper<S> socketWrapper) {
+    public void executeNonBlockingDispatches(SocketWrapperBase<S> socketWrapper) {
         /*
          * This method is called when non-blocking IO is initiated by defining
          * a read and/or write listener in a non-container thread. It is called
@@ -1027,8 +1027,8 @@ public abstract class AbstractEndpoint<S
     }
 
 
-    protected final Set<SocketWrapper<S>> waitingRequests = Collections
-            .newSetFromMap(new ConcurrentHashMap<SocketWrapper<S>, Boolean>());
+    protected final Set<SocketWrapperBase<S>> waitingRequests = Collections
+            .newSetFromMap(new ConcurrentHashMap<SocketWrapperBase<S>, Boolean>());
 
 
     /**

Modified: tomcat/trunk/java/org/apache/tomcat/util/net/AprEndpoint.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/net/AprEndpoint.java?rev=1637917&r1=1637916&r2=1637917&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/tomcat/util/net/AprEndpoint.java (original)
+++ tomcat/trunk/java/org/apache/tomcat/util/net/AprEndpoint.java Mon Nov 10 16:45:04 2014
@@ -853,7 +853,7 @@ public class AprEndpoint extends Abstrac
                 log.warn(sm.getString("endpoint.warn.noExector",
                         Long.valueOf(socket), null));
             } else {
-                SocketWrapper<Long> wrapper =
+                SocketWrapperBase<Long> wrapper =
                         connections.get(Long.valueOf(socket));
                 // Make sure connection hasn't been closed
                 if (wrapper != null) {
@@ -875,7 +875,7 @@ public class AprEndpoint extends Abstrac
 
 
     @Override
-    public void processSocket(SocketWrapper<Long> socket, SocketStatus status,
+    public void processSocket(SocketWrapperBase<Long> socket, SocketStatus status,
             boolean dispatch) {
         try {
             // Synchronisation is required here as this code may be called as a
@@ -2218,7 +2218,7 @@ public class AprEndpoint extends Abstrac
      * thread local fields.
      */
     public interface Handler extends AbstractEndpoint.Handler {
-        public SocketState process(SocketWrapper<Long> socket,
+        public SocketState process(SocketWrapperBase<Long> socket,
                 SocketStatus status);
     }
 
@@ -2234,10 +2234,10 @@ public class AprEndpoint extends Abstrac
      */
     protected class SocketWithOptionsProcessor implements Runnable {
 
-        protected SocketWrapper<Long> socket = null;
+        protected SocketWrapperBase<Long> socket = null;
 
 
-        public SocketWithOptionsProcessor(SocketWrapper<Long> socket) {
+        public SocketWithOptionsProcessor(SocketWrapperBase<Long> socket) {
             this.socket = socket;
         }
 
@@ -2290,10 +2290,10 @@ public class AprEndpoint extends Abstrac
      */
     protected class SocketProcessor implements Runnable {
 
-        private final SocketWrapper<Long> socket;
+        private final SocketWrapperBase<Long> socket;
         private final SocketStatus status;
 
-        public SocketProcessor(SocketWrapper<Long> socket,
+        public SocketProcessor(SocketWrapperBase<Long> socket,
                 SocketStatus status) {
             this.socket = socket;
             if (status == null) {
@@ -2346,7 +2346,7 @@ public class AprEndpoint extends Abstrac
     }
 
 
-    private static class AprSocketWrapper extends SocketWrapper<Long> {
+    private static class AprSocketWrapper extends SocketWrapperBase<Long> {
 
         // This field should only be used by Poller#run()
         private int pollerFlags = 0;

Modified: tomcat/trunk/java/org/apache/tomcat/util/net/Nio2Channel.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/net/Nio2Channel.java?rev=1637917&r1=1637916&r2=1637917&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/tomcat/util/net/Nio2Channel.java (original)
+++ tomcat/trunk/java/org/apache/tomcat/util/net/Nio2Channel.java Mon Nov 10 16:45:04 2014
@@ -38,7 +38,7 @@ public class Nio2Channel implements Asyn
     protected static ByteBuffer emptyBuf = ByteBuffer.allocate(0);
 
     protected AsynchronousSocketChannel sc = null;
-    protected SocketWrapper<Nio2Channel> socket = null;
+    protected SocketWrapperBase<Nio2Channel> socket = null;
     protected ApplicationBufferHandler bufHandler;
 
     public Nio2Channel(ApplicationBufferHandler bufHandler) {
@@ -50,7 +50,7 @@ public class Nio2Channel implements Asyn
      *
      * @throws IOException If a problem was encountered resetting the channel
      */
-    public void reset(AsynchronousSocketChannel channel, SocketWrapper<Nio2Channel> socket)
+    public void reset(AsynchronousSocketChannel channel, SocketWrapperBase<Nio2Channel> socket)
             throws IOException {
         this.sc = channel;
         this.socket = socket;
@@ -58,7 +58,7 @@ public class Nio2Channel implements Asyn
         bufHandler.getWriteBuffer().clear();
     }
 
-    public SocketWrapper<Nio2Channel> getSocket() {
+    public SocketWrapperBase<Nio2Channel> getSocket() {
         return socket;
     }
 



---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org