Author: markt
Date: Fri Jan 30 10:24:10 2015
New Revision: 1655976

URL: http://svn.apache.org/r1655976
Log:
Remove generics from Processor.
This removes I/O implementation specific code from several places in the 
Protocol implementations and will allow those methods to be pulled up.
This commit includes a couple of temporary methods in SocketWrapperBase that I 
hope to be able to remove at a later stage of refactoring.

Modified:
    tomcat/trunk/java/org/apache/coyote/AbstractProcessor.java
    tomcat/trunk/java/org/apache/coyote/AbstractProtocol.java
    tomcat/trunk/java/org/apache/coyote/AsyncStateMachine.java
    tomcat/trunk/java/org/apache/coyote/Processor.java
    tomcat/trunk/java/org/apache/coyote/ajp/AbstractAjpProtocol.java
    tomcat/trunk/java/org/apache/coyote/ajp/AjpAprProtocol.java
    tomcat/trunk/java/org/apache/coyote/ajp/AjpNio2Protocol.java
    tomcat/trunk/java/org/apache/coyote/ajp/AjpNioProtocol.java
    tomcat/trunk/java/org/apache/coyote/ajp/AjpProcessor.java
    tomcat/trunk/java/org/apache/coyote/http11/AbstractHttp11Protocol.java
    tomcat/trunk/java/org/apache/coyote/http11/Http11AprProtocol.java
    tomcat/trunk/java/org/apache/coyote/http11/Http11Nio2Protocol.java
    tomcat/trunk/java/org/apache/coyote/http11/Http11NioProtocol.java
    tomcat/trunk/java/org/apache/coyote/http11/Http11Processor.java
    tomcat/trunk/java/org/apache/coyote/http11/upgrade/UpgradeProcessor.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/SocketWrapperBase.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=1655976&r1=1655975&r2=1655976&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/coyote/AbstractProcessor.java (original)
+++ tomcat/trunk/java/org/apache/coyote/AbstractProcessor.java Fri Jan 30 
10:24:10 2015
@@ -32,16 +32,16 @@ import org.apache.tomcat.util.res.String
  * Provides functionality and attributes common to all supported protocols
  * (currently HTTP and AJP).
  */
-public abstract class AbstractProcessor<S> implements ActionHook, Processor<S> 
{
+public abstract class AbstractProcessor implements ActionHook, Processor {
 
     protected static final StringManager sm = 
StringManager.getManager(Constants.Package);
 
     protected Adapter adapter;
     protected final AsyncStateMachine asyncStateMachine;
-    protected final AbstractEndpoint<S> endpoint;
+    protected final AbstractEndpoint<?> endpoint;
     protected final Request request;
     protected final Response response;
-    protected SocketWrapperBase<S> socketWrapper = null;
+    protected SocketWrapperBase<?> socketWrapper = null;
     private String clientCertProvider = null;
 
     /**
@@ -61,7 +61,7 @@ public abstract class AbstractProcessor<
         response = null;
     }
 
-    public AbstractProcessor(AbstractEndpoint<S> endpoint) {
+    public AbstractProcessor(AbstractEndpoint<?> endpoint) {
         this.endpoint = endpoint;
         asyncStateMachine = new AsyncStateMachine(this);
         request = new Request();
@@ -87,7 +87,7 @@ public abstract class AbstractProcessor<
                 response.setStatus(500);
             }
             
getLog().info(sm.getString("abstractProcessor.nonContainerThreadError"), t);
-            getEndpoint().processSocket(socketWrapper, SocketStatus.CLOSE_NOW, 
true);
+            socketWrapper.processSocket(SocketStatus.CLOSE_NOW, true);
         }
     }
 
@@ -104,7 +104,7 @@ public abstract class AbstractProcessor<
     /**
      * The endpoint receiving connections that are handled by this processor.
      */
-    protected AbstractEndpoint<S> getEndpoint() {
+    protected AbstractEndpoint<?> getEndpoint() {
         return endpoint;
     }
 
@@ -152,7 +152,7 @@ public abstract class AbstractProcessor<
     /**
      * Set the socket wrapper being used.
      */
-    protected final void setSocketWrapper(SocketWrapperBase<S> socketWrapper) {
+    protected final void setSocketWrapper(SocketWrapperBase<?> socketWrapper) {
         this.socketWrapper = socketWrapper;
     }
 
@@ -160,7 +160,7 @@ public abstract class AbstractProcessor<
     /**
      * Get the socket wrapper being used.
      */
-    protected final SocketWrapperBase<S> getSocketWrapper() {
+    protected final SocketWrapperBase<?> getSocketWrapper() {
         return socketWrapper;
     }
 
@@ -198,7 +198,7 @@ public abstract class AbstractProcessor<
      * with although they may change type during processing.
      */
     @Override
-    public abstract SocketState process(SocketWrapperBase<S> socket) throws 
IOException;
+    public abstract SocketState process(SocketWrapperBase<?> 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=1655976&r1=1655975&r2=1655976&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/coyote/AbstractProtocol.java (original)
+++ tomcat/trunk/java/org/apache/coyote/AbstractProtocol.java Fri Jan 30 
10:24:10 2015
@@ -567,7 +567,7 @@ public abstract class AbstractProtocol<S
 
     // ------------------------------------------- Connection handler base 
class
 
-    protected abstract static class AbstractConnectionHandler<S,P extends 
Processor<S>>
+    protected abstract static class AbstractConnectionHandler<S,P extends 
Processor>
             implements AbstractEndpoint.Handler<S> {
 
         protected abstract Log getLog();
@@ -575,7 +575,7 @@ public abstract class AbstractProtocol<S
         protected final RequestGroupInfo global = new RequestGroupInfo();
         protected final AtomicLong registerCount = new AtomicLong(0);
 
-        protected final ConcurrentHashMap<S,Processor<S>> connections =
+        protected final ConcurrentHashMap<S,Processor> connections =
                 new ConcurrentHashMap<>();
 
         protected final RecycledProcessors<P,S> recycledProcessors =
@@ -610,7 +610,7 @@ public abstract class AbstractProtocol<S
                 return SocketState.CLOSED;
             }
 
-            Processor<S> processor = connections.get(socket);
+            Processor processor = connections.get(socket);
             if (status == SocketStatus.DISCONNECT && processor == null) {
                 // Nothing to do. Endpoint requested a close and there is no
                 // longer a processor associated with this socket.
@@ -775,9 +775,9 @@ public abstract class AbstractProtocol<S
 
         protected abstract P createProcessor();
         protected abstract void initSsl(SocketWrapperBase<S> socket,
-                Processor<S> processor);
+                Processor processor);
         protected abstract void longPoll(SocketWrapperBase<S> socket,
-                Processor<S> processor);
+                Processor processor);
 
         /**
          * Expected to be used by the handler once the processor is no longer
@@ -791,12 +791,12 @@ public abstract class AbstractProtocol<S
          *                    reading
          */
         protected abstract void release(SocketWrapperBase<S> socket,
-                Processor<S> processor, boolean addToPoller);
-        protected abstract Processor<S> createUpgradeProcessor(
-                SocketWrapperBase<S> socket, ByteBuffer leftoverInput,
+                Processor processor, boolean addToPoller);
+        protected abstract Processor createUpgradeProcessor(
+                SocketWrapperBase<?> socket, ByteBuffer leftoverInput,
                 HttpUpgradeHandler httpUpgradeHandler) throws IOException;
 
-        protected void register(AbstractProcessor<S> processor) {
+        protected void register(AbstractProcessor processor) {
             if (getProtocol().getDomain() != null) {
                 synchronized (this) {
                     try {
@@ -823,7 +823,7 @@ public abstract class AbstractProtocol<S
             }
         }
 
-        protected void unregister(Processor<S> processor) {
+        protected void unregister(Processor processor) {
             if (getProtocol().getDomain() != null) {
                 synchronized (this) {
                     try {
@@ -849,8 +849,8 @@ public abstract class AbstractProtocol<S
         }
     }
 
-    protected static class RecycledProcessors<P extends Processor<S>, S>
-            extends SynchronizedStack<Processor<S>> {
+    protected static class RecycledProcessors<P extends Processor, S>
+            extends SynchronizedStack<Processor> {
 
         private final transient AbstractConnectionHandler<S,P> handler;
         protected final AtomicInteger size = new AtomicInteger(0);
@@ -861,7 +861,7 @@ public abstract class AbstractProtocol<S
 
         @SuppressWarnings("sync-override") // Size may exceed cache size a bit
         @Override
-        public boolean push(Processor<S> processor) {
+        public boolean push(Processor processor) {
             int cacheSize = handler.getProtocol().getProcessorCache();
             boolean offer = cacheSize == -1 ? true : size.get() < cacheSize;
             //avoid over growing our cache or add after we have stopped
@@ -878,8 +878,8 @@ public abstract class AbstractProtocol<S
 
         @SuppressWarnings("sync-override") // OK if size is too big briefly
         @Override
-        public Processor<S> pop() {
-            Processor<S> result = super.pop();
+        public Processor pop() {
+            Processor result = super.pop();
             if (result != null) {
                 size.decrementAndGet();
             }
@@ -888,7 +888,7 @@ public abstract class AbstractProtocol<S
 
         @Override
         public synchronized void clear() {
-            Processor<S> next = pop();
+            Processor next = pop();
             while (next != null) {
                 handler.unregister(next);
                 next = pop();

Modified: tomcat/trunk/java/org/apache/coyote/AsyncStateMachine.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/AsyncStateMachine.java?rev=1655976&r1=1655975&r2=1655976&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/coyote/AsyncStateMachine.java [UTF-8] 
(original)
+++ tomcat/trunk/java/org/apache/coyote/AsyncStateMachine.java [UTF-8] Fri Jan 
30 10:24:10 2015
@@ -157,10 +157,10 @@ public class AsyncStateMachine {
     private volatile AsyncState state = AsyncState.DISPATCHED;
     // Need this to fire listener on complete
     private AsyncContextCallback asyncCtxt = null;
-    private final Processor<?> processor;
+    private final Processor processor;
 
 
-    public AsyncStateMachine(Processor<?> processor) {
+    public AsyncStateMachine(Processor processor) {
         this.processor = 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=1655976&r1=1655975&r2=1655976&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/coyote/Processor.java (original)
+++ tomcat/trunk/java/org/apache/coyote/Processor.java Fri Jan 30 10:24:10 2015
@@ -31,10 +31,10 @@ import org.apache.tomcat.util.net.Socket
 /**
  * Common interface for processors of all protocols.
  */
-public interface Processor<S> {
+public interface Processor {
     Executor getExecutor();
 
-    SocketState process(SocketWrapperBase<S> socketWrapper) throws IOException;
+    SocketState process(SocketWrapperBase<?> socketWrapper) throws IOException;
 
     SocketState asyncDispatch(SocketStatus status);
     SocketState asyncPostProcess();

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=1655976&r1=1655975&r2=1655976&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/coyote/ajp/AbstractAjpProtocol.java (original)
+++ tomcat/trunk/java/org/apache/coyote/ajp/AbstractAjpProtocol.java Fri Jan 30 
10:24:10 2015
@@ -103,7 +103,7 @@ public abstract class AbstractAjpProtoco
         }
     }
 
-    protected void configureProcessor(AjpProcessor<S> processor) {
+    protected void configureProcessor(AjpProcessor processor) {
         processor.setAdapter(getAdapter());
         processor.setTomcatAuthentication(getTomcatAuthentication());
         processor.setRequiredSecret(requiredSecret);
@@ -112,7 +112,7 @@ public abstract class AbstractAjpProtoco
     }
 
     protected abstract static class AbstractAjpConnectionHandler<S>
-            extends AbstractConnectionHandler<S,AjpProcessor<S>> {
+            extends AbstractConnectionHandler<S,AjpProcessor> {
 
         private final AbstractAjpProtocol<S> proto;
 
@@ -127,28 +127,26 @@ public abstract class AbstractAjpProtoco
 
 
         @Override
-        protected AjpProcessor<S> createProcessor() {
-            AjpProcessor<S> processor =
-                    new AjpProcessor<>(proto.getPacketSize(), 
proto.getEndpoint());
+        protected AjpProcessor createProcessor() {
+            AjpProcessor processor = new AjpProcessor(proto.getPacketSize(), 
proto.getEndpoint());
             proto.configureProcessor(processor);
             register(processor);
             return processor;
         }
 
         @Override
-        protected void initSsl(SocketWrapperBase<S> socket, Processor<S> 
processor) {
+        protected void initSsl(SocketWrapperBase<S> socket, Processor 
processor) {
             // NOOP for AJP
         }
 
         @Override
-        protected void longPoll(SocketWrapperBase<S> socket,
-                Processor<S> processor) {
+        protected void longPoll(SocketWrapperBase<S> socket, Processor 
processor) {
             // Same requirements for all AJP connectors
             socket.setAsync(true);
         }
 
         @Override
-        protected AjpProcessor<S> createUpgradeProcessor(SocketWrapperBase<S> 
socket,
+        protected AjpProcessor createUpgradeProcessor(SocketWrapperBase<?> 
socket,
                 ByteBuffer leftoverInput, HttpUpgradeHandler 
httpUpgradeHandler) {
             // TODO should fail - throw IOE
             return null;

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=1655976&r1=1655975&r2=1655976&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/coyote/ajp/AjpAprProtocol.java (original)
+++ tomcat/trunk/java/org/apache/coyote/ajp/AjpAprProtocol.java Fri Jan 30 
10:24:10 2015
@@ -86,7 +86,7 @@ public class AjpAprProtocol extends Abst
 
         @Override
         public void release(SocketWrapperBase<Long> socket,
-                Processor<Long> processor, boolean addToPoller) {
+                Processor processor, boolean addToPoller) {
             processor.recycle();
             recycledProcessors.push(processor);
             if (addToPoller) {

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=1655976&r1=1655975&r2=1655976&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/coyote/ajp/AjpNio2Protocol.java (original)
+++ tomcat/trunk/java/org/apache/coyote/ajp/AjpNio2Protocol.java Fri Jan 30 
10:24:10 2015
@@ -84,8 +84,7 @@ public class AjpNio2Protocol extends Abs
          */
         @Override
         public void release(SocketWrapperBase<Nio2Channel> socket) {
-            Processor<Nio2Channel> processor =
-                    connections.remove(socket.getSocket());
+            Processor processor = connections.remove(socket.getSocket());
             if (processor != null) {
                 processor.recycle();
                 recycledProcessors.push(processor);
@@ -94,7 +93,7 @@ public class AjpNio2Protocol extends Abs
 
         @Override
         public void release(SocketWrapperBase<Nio2Channel> socket,
-                Processor<Nio2Channel> processor, boolean addToPoller) {
+                Processor processor, boolean addToPoller) {
             if (getLog().isDebugEnabled()) {
                 log.debug("Socket: [" + socket + "], Processor: [" + processor 
+
                         "], addToPoller: [" + addToPoller + "]");

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=1655976&r1=1655975&r2=1655976&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/coyote/ajp/AjpNioProtocol.java (original)
+++ tomcat/trunk/java/org/apache/coyote/ajp/AjpNioProtocol.java Fri Jan 30 
10:24:10 2015
@@ -89,12 +89,12 @@ public class AjpNioProtocol extends Abst
             if (log.isDebugEnabled())
                 log.debug(sm.getString("ajpnioprotocol.releaseStart", socket));
             boolean released = false;
-            Iterator<java.util.Map.Entry<NioChannel, Processor<NioChannel>>> 
it = connections.entrySet().iterator();
+            Iterator<java.util.Map.Entry<NioChannel, Processor>> it = 
connections.entrySet().iterator();
             while (it.hasNext()) {
-                java.util.Map.Entry<NioChannel, Processor<NioChannel>> entry = 
it.next();
+                java.util.Map.Entry<NioChannel, Processor> entry = it.next();
                 if (entry.getKey().getIOChannel()==socket) {
                     it.remove();
-                    Processor<NioChannel> result = entry.getValue();
+                    Processor result = entry.getValue();
                     result.recycle();
                     unregister(result);
                     released = true;
@@ -113,8 +113,7 @@ public class AjpNioProtocol extends Abst
          */
         @Override
         public void release(SocketWrapperBase<NioChannel> socket) {
-            Processor<NioChannel> processor =
-                    connections.remove(socket.getSocket());
+            Processor processor = connections.remove(socket.getSocket());
             if (processor != null) {
                 processor.recycle();
                 recycledProcessors.push(processor);
@@ -124,7 +123,7 @@ public class AjpNioProtocol extends Abst
 
         @Override
         public void release(SocketWrapperBase<NioChannel> socket,
-               Processor<NioChannel> processor,  boolean addToPoller) {
+               Processor processor,  boolean addToPoller) {
             processor.recycle();
             recycledProcessors.push(processor);
             if (addToPoller) {

Modified: tomcat/trunk/java/org/apache/coyote/ajp/AjpProcessor.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/ajp/AjpProcessor.java?rev=1655976&r1=1655975&r2=1655976&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/coyote/ajp/AjpProcessor.java (original)
+++ tomcat/trunk/java/org/apache/coyote/ajp/AjpProcessor.java Fri Jan 30 
10:24:10 2015
@@ -56,11 +56,8 @@ import org.apache.tomcat.util.res.String
 
 /**
  * AJP Processor implementation.
- *
- * @param <S> The socket type of the IO implementation used by this processor
- *            instance.
  */
-public class AjpProcessor<S> extends AbstractProcessor<S> {
+public class AjpProcessor extends AbstractProcessor {
 
     private static final Log log = LogFactory.getLog(AjpProcessor.class);
     /**
@@ -250,7 +247,7 @@ public class AjpProcessor<S> extends Abs
 
     // ------------------------------------------------------------ Constructor
 
-    public AjpProcessor(int packetSize, AbstractEndpoint<S> endpoint) {
+    public AjpProcessor(int packetSize, AbstractEndpoint<?> endpoint) {
 
         super(endpoint);
 
@@ -498,13 +495,13 @@ public class AjpProcessor<S> extends Abs
         case ASYNC_COMPLETE: {
             socketWrapper.clearDispatches();
             if (asyncStateMachine.asyncComplete()) {
-                endpoint.processSocket(socketWrapper, SocketStatus.OPEN_READ, 
true);
+                socketWrapper.processSocket(SocketStatus.OPEN_READ, true);
             }
             break;
         }
         case ASYNC_DISPATCH: {
             if (asyncStateMachine.asyncDispatch()) {
-                endpoint.processSocket(socketWrapper, SocketStatus.OPEN_READ, 
true);
+                socketWrapper.processSocket(SocketStatus.OPEN_READ, true);
             }
             break;
         }
@@ -594,7 +591,7 @@ public class AjpProcessor<S> extends Abs
             break;
         }
         case DISPATCH_EXECUTE: {
-            getEndpoint().executeNonBlockingDispatches(socketWrapper);
+            socketWrapper.executeNonBlockingDispatches();
             break;
         }
         case CLOSE_NOW: {
@@ -690,7 +687,7 @@ public class AjpProcessor<S> extends Abs
      * @throws IOException error during an I/O operation
      */
     @Override
-    public SocketState process(SocketWrapperBase<S> socket) throws IOException 
{
+    public SocketState process(SocketWrapperBase<?> socket) throws IOException 
{
 
         RequestInfo rp = request.getRequestProcessor();
         rp.setStage(org.apache.coyote.Constants.STAGE_PARSE);

Modified: tomcat/trunk/java/org/apache/coyote/http11/AbstractHttp11Protocol.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/http11/AbstractHttp11Protocol.java?rev=1655976&r1=1655975&r2=1655976&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/coyote/http11/AbstractHttp11Protocol.java 
(original)
+++ tomcat/trunk/java/org/apache/coyote/http11/AbstractHttp11Protocol.java Fri 
Jan 30 10:24:10 2015
@@ -214,7 +214,7 @@ public abstract class AbstractHttp11Prot
     // ------------------------------------------------------------- Common 
code
 
     // Common configuration required for all new HTTP11 processors
-    protected void configureProcessor(Http11Processor<S> processor) {
+    protected void configureProcessor(Http11Processor processor) {
         processor.setAdapter(getAdapter());
         processor.setMaxKeepAliveRequests(getMaxKeepAliveRequests());
         processor.setConnectionUploadTimeout(getConnectionUploadTimeout());

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=1655976&r1=1655975&r2=1655976&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/coyote/http11/Http11AprProtocol.java (original)
+++ tomcat/trunk/java/org/apache/coyote/http11/Http11AprProtocol.java Fri Jan 
30 10:24:10 2015
@@ -212,7 +212,7 @@ public class Http11AprProtocol extends A
     // --------------------  Connection handler --------------------
 
     protected static class Http11ConnectionHandler
-            extends AbstractConnectionHandler<Long,Http11Processor<Long>> {
+            extends AbstractConnectionHandler<Long,Http11Processor> {
 
         protected Http11AprProtocol proto;
 
@@ -232,7 +232,7 @@ public class Http11AprProtocol extends A
 
         @Override
         public void release(SocketWrapperBase<Long> socket,
-                Processor<Long> processor, boolean addToPoller) {
+                Processor processor, boolean addToPoller) {
             processor.recycle();
             recycledProcessors.push(processor);
             if (addToPoller && proto.getEndpoint().isRunning()) {
@@ -246,7 +246,7 @@ public class Http11AprProtocol extends A
         public SocketState process(SocketWrapperBase<Long> socket,
                 SocketStatus status) {
             if (proto.npnHandler != null) {
-                Processor<Long> processor = null;
+                Processor processor = null;
                 if (status == SocketStatus.OPEN_READ) {
                     processor = connections.get(socket.getSocket());
 
@@ -265,7 +265,7 @@ public class Http11AprProtocol extends A
         }
 
         @Override
-        protected void initSsl(SocketWrapperBase<Long> socket, Processor<Long> 
processor) {
+        protected void initSsl(SocketWrapperBase<Long> socket, Processor 
processor) {
             if (proto.isSSLEnabled()) {
                 AprSSLSupport sslSupport =
                         new AprSSLSupport(socket, 
processor.getClientCertProvider());
@@ -276,8 +276,7 @@ public class Http11AprProtocol extends A
         }
 
         @Override
-        protected void longPoll(SocketWrapperBase<Long> socket,
-                Processor<Long> processor) {
+        protected void longPoll(SocketWrapperBase<Long> socket, Processor 
processor) {
 
             if (processor.isAsync()) {
                 // Async
@@ -295,8 +294,8 @@ public class Http11AprProtocol extends A
         }
 
         @Override
-        protected Http11Processor<Long> createProcessor() {
-            Http11Processor<Long> processor = new Http11Processor<>(
+        protected Http11Processor createProcessor() {
+            Http11Processor processor = new Http11Processor(
                     proto.getMaxHttpHeaderSize(), proto.getEndpoint(),
                     proto.getMaxTrailerSize(), proto.getMaxExtensionSize(),
                     proto.getMaxSwallowSize());
@@ -308,11 +307,11 @@ public class Http11AprProtocol extends A
         }
 
         @Override
-        protected Processor<Long> createUpgradeProcessor(
-                SocketWrapperBase<Long> socket, ByteBuffer leftoverInput,
+        protected Processor createUpgradeProcessor(
+                SocketWrapperBase<?> socket, ByteBuffer leftoverInput,
                 HttpUpgradeHandler httpUpgradeHandler)
                 throws IOException {
-            return new UpgradeProcessor<>(socket, leftoverInput, 
httpUpgradeHandler);
+            return new UpgradeProcessor(socket, leftoverInput, 
httpUpgradeHandler);
         }
     }
 }

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=1655976&r1=1655975&r2=1655976&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/coyote/http11/Http11Nio2Protocol.java 
(original)
+++ tomcat/trunk/java/org/apache/coyote/http11/Http11Nio2Protocol.java Fri Jan 
30 10:24:10 2015
@@ -100,7 +100,7 @@ public class Http11Nio2Protocol extends
     // --------------------  Connection handler --------------------
 
     protected static class Http11ConnectionHandler
-            extends 
AbstractConnectionHandler<Nio2Channel,Http11Processor<Nio2Channel>>
+            extends AbstractConnectionHandler<Nio2Channel,Http11Processor>
             implements Handler {
 
         protected Http11Nio2Protocol proto;
@@ -131,8 +131,7 @@ public class Http11Nio2Protocol extends
          */
         @Override
         public void release(SocketWrapperBase<Nio2Channel> socket) {
-            Processor<Nio2Channel> processor =
-                connections.remove(socket.getSocket());
+            Processor processor = connections.remove(socket.getSocket());
             if (processor != null) {
                 processor.recycle();
                 recycledProcessors.push(processor);
@@ -154,7 +153,7 @@ public class Http11Nio2Protocol extends
 
         @Override
         public void release(SocketWrapperBase<Nio2Channel> socket,
-                Processor<Nio2Channel> processor, boolean addToPoller) {
+                Processor processor, boolean addToPoller) {
             processor.recycle();
             recycledProcessors.push(processor);
             if (socket.isAsync()) {
@@ -167,8 +166,7 @@ public class Http11Nio2Protocol extends
 
 
         @Override
-        protected void initSsl(SocketWrapperBase<Nio2Channel> socket,
-                Processor<Nio2Channel> processor) {
+        protected void initSsl(SocketWrapperBase<Nio2Channel> socket, 
Processor processor) {
             if (proto.isSSLEnabled() &&
                     (proto.sslImplementation != null)
                     && (socket.getSocket() instanceof SecureNio2Channel)) {
@@ -183,8 +181,7 @@ public class Http11Nio2Protocol extends
         }
 
         @Override
-        protected void longPoll(SocketWrapperBase<Nio2Channel> socket,
-                Processor<Nio2Channel> processor) {
+        protected void longPoll(SocketWrapperBase<Nio2Channel> socket, 
Processor processor) {
             if (processor.isAsync()) {
                 socket.setAsync(true);
                 ((Nio2Endpoint) proto.getEndpoint()).addTimeout(socket);
@@ -209,8 +206,8 @@ public class Http11Nio2Protocol extends
         }
 
         @Override
-        public Http11Processor<Nio2Channel> createProcessor() {
-            Http11Processor<Nio2Channel> processor = new Http11Processor<>(
+        public Http11Processor createProcessor() {
+            Http11Processor processor = new Http11Processor(
                     proto.getMaxHttpHeaderSize(), proto.getEndpoint(),
                     proto.getMaxTrailerSize(), proto.getMaxExtensionSize(),
                     proto.getMaxSwallowSize());
@@ -220,11 +217,11 @@ public class Http11Nio2Protocol extends
         }
 
         @Override
-        protected Processor<Nio2Channel> createUpgradeProcessor(
-                SocketWrapperBase<Nio2Channel> socket, ByteBuffer 
leftoverInput,
+        protected Processor createUpgradeProcessor(
+                SocketWrapperBase<?> socket, ByteBuffer leftoverInput,
                 HttpUpgradeHandler httpUpgradeHandler)
                 throws IOException {
-            return new UpgradeProcessor<>(socket, leftoverInput, 
httpUpgradeHandler);
+            return new UpgradeProcessor(socket, leftoverInput, 
httpUpgradeHandler);
         }
 
         @Override

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=1655976&r1=1655975&r2=1655976&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/coyote/http11/Http11NioProtocol.java (original)
+++ tomcat/trunk/java/org/apache/coyote/http11/Http11NioProtocol.java Fri Jan 
30 10:24:10 2015
@@ -127,7 +127,7 @@ public class Http11NioProtocol extends A
     // --------------------  Connection handler --------------------
 
     protected static class Http11ConnectionHandler
-            extends 
AbstractConnectionHandler<NioChannel,Http11Processor<NioChannel>>
+            extends AbstractConnectionHandler<NioChannel,Http11Processor>
             implements Handler {
 
         protected Http11NioProtocol proto;
@@ -161,12 +161,12 @@ public class Http11NioProtocol extends A
             if (log.isDebugEnabled())
                 log.debug("Iterating through our connections to release a 
socket channel:"+socket);
             boolean released = false;
-            Iterator<java.util.Map.Entry<NioChannel, Processor<NioChannel>>> 
it = connections.entrySet().iterator();
+            Iterator<java.util.Map.Entry<NioChannel, Processor>> it = 
connections.entrySet().iterator();
             while (it.hasNext()) {
-                java.util.Map.Entry<NioChannel, Processor<NioChannel>> entry = 
it.next();
+                java.util.Map.Entry<NioChannel, Processor> entry = it.next();
                 if (entry.getKey().getIOChannel()==socket) {
                     it.remove();
-                    Processor<NioChannel> result = entry.getValue();
+                    Processor result = entry.getValue();
                     result.recycle();
                     unregister(result);
                     released = true;
@@ -183,8 +183,7 @@ public class Http11NioProtocol extends A
          */
         @Override
         public void release(SocketWrapperBase<NioChannel> socket) {
-            Processor<NioChannel> processor =
-                connections.remove(socket.getSocket());
+            Processor processor = connections.remove(socket.getSocket());
             if (processor != null) {
                 processor.recycle();
                 recycledProcessors.push(processor);
@@ -206,7 +205,7 @@ public class Http11NioProtocol extends A
 
         @Override
         public void release(SocketWrapperBase<NioChannel> socket,
-                Processor<NioChannel> processor, boolean addToPoller) {
+                Processor processor, boolean addToPoller) {
             processor.recycle();
             recycledProcessors.push(processor);
             if (addToPoller) {
@@ -216,8 +215,7 @@ public class Http11NioProtocol extends A
 
 
         @Override
-        protected void initSsl(SocketWrapperBase<NioChannel> socket,
-                Processor<NioChannel> processor) {
+        protected void initSsl(SocketWrapperBase<NioChannel> socket, Processor 
processor) {
             if (proto.isSSLEnabled() &&
                     (proto.sslImplementation != null)
                     && (socket.getSocket() instanceof SecureNioChannel)) {
@@ -232,8 +230,7 @@ public class Http11NioProtocol extends A
         }
 
         @Override
-        protected void longPoll(SocketWrapperBase<NioChannel> socket,
-                Processor<NioChannel> processor) {
+        protected void longPoll(SocketWrapperBase<NioChannel> socket, 
Processor processor) {
 
             if (processor.isAsync()) {
                 socket.setAsync(true);
@@ -247,8 +244,8 @@ public class Http11NioProtocol extends A
         }
 
         @Override
-        public Http11Processor<NioChannel> createProcessor() {
-            Http11Processor<NioChannel> processor = new Http11Processor<>(
+        public Http11Processor createProcessor() {
+            Http11Processor processor = new Http11Processor(
                     proto.getMaxHttpHeaderSize(), proto.getEndpoint(),
                     proto.getMaxTrailerSize(), proto.getMaxExtensionSize(),
                     proto.getMaxSwallowSize());
@@ -258,11 +255,11 @@ public class Http11NioProtocol extends A
         }
 
         @Override
-        protected Processor<NioChannel> createUpgradeProcessor(
-                SocketWrapperBase<NioChannel> socket, ByteBuffer leftoverInput,
+        protected Processor createUpgradeProcessor(
+                SocketWrapperBase<?> socket, ByteBuffer leftoverInput,
                 HttpUpgradeHandler httpUpgradeHandler)
                 throws IOException {
-            return new UpgradeProcessor<>(socket, leftoverInput, 
httpUpgradeHandler);
+            return new UpgradeProcessor(socket, leftoverInput, 
httpUpgradeHandler);
         }
 
         @Override

Modified: tomcat/trunk/java/org/apache/coyote/http11/Http11Processor.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/http11/Http11Processor.java?rev=1655976&r1=1655975&r2=1655976&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/coyote/http11/Http11Processor.java (original)
+++ tomcat/trunk/java/org/apache/coyote/http11/Http11Processor.java Fri Jan 30 
10:24:10 2015
@@ -61,9 +61,9 @@ import org.apache.tomcat.util.net.Socket
 import org.apache.tomcat.util.net.SocketWrapperBase;
 import org.apache.tomcat.util.res.StringManager;
 
-public class Http11Processor<S> extends AbstractProcessor<S> {
+public class Http11Processor extends AbstractProcessor {
 
-    private static final Log log = LogFactory.getLog(Http11AprProtocol.class);
+    private static final Log log = LogFactory.getLog(Http11Processor.class);
 
     /**
      * The string manager for this package.
@@ -238,7 +238,7 @@ public class Http11Processor<S> extends
     protected SSLSupport sslSupport;
 
 
-    public Http11Processor(int maxHttpHeaderSize, AbstractEndpoint<S> endpoint,
+    public Http11Processor(int maxHttpHeaderSize, AbstractEndpoint<?> endpoint,
             int maxTrailerSize, int maxExtensionSize, int maxSwallowSize) {
 
         super(endpoint);
@@ -841,7 +841,7 @@ public class Http11Processor<S> extends
         case ASYNC_COMPLETE: {
             socketWrapper.clearDispatches();
             if (asyncStateMachine.asyncComplete()) {
-                endpoint.processSocket(this.socketWrapper, 
SocketStatus.OPEN_READ, true);
+                socketWrapper.processSocket(SocketStatus.OPEN_READ, true);
             }
             break;
         }
@@ -855,7 +855,7 @@ public class Http11Processor<S> extends
         }
         case ASYNC_DISPATCH: {
             if (asyncStateMachine.asyncDispatch()) {
-                endpoint.processSocket(this.socketWrapper, 
SocketStatus.OPEN_READ, true);
+                socketWrapper.processSocket(SocketStatus.OPEN_READ, true);
             }
             break;
         }
@@ -892,9 +892,9 @@ public class Http11Processor<S> extends
             break;
         }
         case DISPATCH_EXECUTE: {
-            SocketWrapperBase<S> wrapper = socketWrapper;
+            SocketWrapperBase<?> wrapper = socketWrapper;
             if (wrapper != null) {
-                getEndpoint().executeNonBlockingDispatches(wrapper);
+                wrapper.executeNonBlockingDispatches();
             }
             break;
         }
@@ -1017,7 +1017,7 @@ public class Http11Processor<S> extends
      * @throws IOException error during an I/O operation
      */
     @Override
-    public SocketState process(SocketWrapperBase<S> socketWrapper)
+    public SocketState process(SocketWrapperBase<?> socketWrapper)
         throws IOException {
         RequestInfo rp = request.getRequestProcessor();
         rp.setStage(org.apache.coyote.Constants.STAGE_PARSE);
@@ -1869,7 +1869,7 @@ public class Http11Processor<S> extends
      *
      * @return true if the keep-alive loop should be broken
      */
-    private boolean breakKeepAliveLoop(SocketWrapperBase<S> socketWrapper) {
+    private boolean breakKeepAliveLoop(SocketWrapperBase<?> 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/upgrade/UpgradeProcessor.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/http11/upgrade/UpgradeProcessor.java?rev=1655976&r1=1655975&r2=1655976&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/coyote/http11/upgrade/UpgradeProcessor.java 
(original)
+++ tomcat/trunk/java/org/apache/coyote/http11/upgrade/UpgradeProcessor.java 
Fri Jan 30 10:24:10 2015
@@ -35,7 +35,7 @@ import org.apache.tomcat.util.net.Socket
 import org.apache.tomcat.util.net.SocketWrapperBase;
 import org.apache.tomcat.util.res.StringManager;
 
-public class UpgradeProcessor<S> implements Processor<S>, WebConnection {
+public class UpgradeProcessor implements Processor, WebConnection {
 
     private static final int INFINITE_TIMEOUT = -1;
 
@@ -140,7 +140,7 @@ public class UpgradeProcessor<S> impleme
 
 
     @Override
-    public final SocketState process(SocketWrapperBase<S> socketWrapper) 
throws IOException {
+    public final SocketState process(SocketWrapperBase<?> socketWrapper) 
throws IOException {
         return null;
     }
 

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=1655976&r1=1655975&r2=1655976&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/coyote/spdy/SpdyAprNpnHandler.java (original)
+++ tomcat/trunk/java/org/apache/coyote/spdy/SpdyAprNpnHandler.java Fri Jan 30 
10:24:10 2015
@@ -82,7 +82,7 @@ public class SpdyAprNpnHandler implement
             @Override
             public void onStream(SpdyConnection con, SpdyStream ch)
                     throws IOException {
-                SpdyProcessor<Long> sp = new SpdyProcessor<>(con, ep);
+                SpdyProcessor sp = new SpdyProcessor(con, ep);
                 sp.setAdapter(adapter);
                 sp.onSynStream(ch);
             }

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=1655976&r1=1655975&r2=1655976&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/coyote/spdy/SpdyProcessor.java (original)
+++ tomcat/trunk/java/org/apache/coyote/spdy/SpdyProcessor.java Fri Jan 30 
10:24:10 2015
@@ -57,7 +57,7 @@ import org.apache.tomcat.util.net.Socket
  *
  * Based on the AJP processor.
  */
-public class SpdyProcessor<S> extends AbstractProcessor<S> implements Runnable 
{
+public class SpdyProcessor extends AbstractProcessor implements Runnable {
 
     private static final Log log = LogFactory.getLog(SpdyProcessor.class);
 
@@ -82,7 +82,7 @@ public class SpdyProcessor<S> extends Ab
 
     private boolean outCommit = false;
 
-    public SpdyProcessor(SpdyConnection spdy, AbstractEndpoint<S> endpoint) {
+    public SpdyProcessor(SpdyConnection spdy, AbstractEndpoint<?> endpoint) {
         super(endpoint);
 
         this.spdy = spdy;
@@ -505,7 +505,7 @@ public class SpdyProcessor<S> extends Ab
     }
 
     @Override
-    public SocketState process(SocketWrapperBase<S> socket)
+    public SocketState process(SocketWrapperBase<?> 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=1655976&r1=1655975&r2=1655976&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/coyote/spdy/SpdyProxyProtocol.java (original)
+++ tomcat/trunk/java/org/apache/coyote/spdy/SpdyProxyProtocol.java Fri Jan 30 
10:24:10 2015
@@ -93,7 +93,7 @@ public class SpdyProxyProtocol extends A
         spdyContext.setHandler(new SpdyHandler() {
             @Override
             public void onStream(SpdyConnection con, SpdyStream ch) throws 
IOException {
-                SpdyProcessor<NioChannel> sp = new SpdyProcessor<>(con, 
getEndpoint());
+                SpdyProcessor sp = new SpdyProcessor(con, getEndpoint());
                 sp.setAdapter(getAdapter());
                 sp.onSynStream(ch);
             }

Modified: tomcat/trunk/java/org/apache/tomcat/util/net/SocketWrapperBase.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/net/SocketWrapperBase.java?rev=1655976&r1=1655975&r2=1655976&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/tomcat/util/net/SocketWrapperBase.java 
(original)
+++ tomcat/trunk/java/org/apache/tomcat/util/net/SocketWrapperBase.java Fri Jan 
30 10:24:10 2015
@@ -626,6 +626,29 @@ public abstract class SocketWrapperBase<
      */
     public abstract void doClientAuth(SSLSupport sslSupport);
 
+
+    /*
+     * TODO
+     * Temporary method to aid in some refactoring.
+     * It is currently expected that this method will be removed in a 
subsequent
+     * refactoring.
+     */
+    public void processSocket(SocketStatus socketStatus, boolean dispatch) {
+        endpoint.processSocket(this, socketStatus, dispatch);
+    }
+
+
+    /*
+     * TODO
+     * Temporary method to aid in some refactoring.
+     * It is currently expected that this method will be removed in a 
subsequent
+     * refactoring.
+     */
+    public void executeNonBlockingDispatches() {
+        endpoint.executeNonBlockingDispatches(this);
+    }
+
+
     // --------------------------------------------------------- Utility 
methods
 
     protected static int transfer(byte[] from, int offset, int length, 
ByteBuffer to) {



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

Reply via email to