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:46:51 UTC

svn commit: r1637930 - /tomcat/trunk/java/org/apache/coyote/http11/upgrade/

Author: markt
Date: Mon Nov 10 16:46:50 2014
New Revision: 1637930

URL: http://svn.apache.org/r1637930
Log:
Drop the connector specific ServletInputStream implementations for HTTP
upgrade

Added:
    tomcat/trunk/java/org/apache/coyote/http11/upgrade/ServletInputStreamImpl.java   (contents, props changed)
      - copied, changed from r1637929, tomcat/trunk/java/org/apache/coyote/http11/upgrade/AbstractServletInputStream.java
Removed:
    tomcat/trunk/java/org/apache/coyote/http11/upgrade/AbstractServletInputStream.java
    tomcat/trunk/java/org/apache/coyote/http11/upgrade/AprServletInputStream.java
    tomcat/trunk/java/org/apache/coyote/http11/upgrade/Nio2ServletInputStream.java
    tomcat/trunk/java/org/apache/coyote/http11/upgrade/NioServletInputStream.java
Modified:
    tomcat/trunk/java/org/apache/coyote/http11/upgrade/AbstractProcessor.java
    tomcat/trunk/java/org/apache/coyote/http11/upgrade/AprProcessor.java
    tomcat/trunk/java/org/apache/coyote/http11/upgrade/Nio2Processor.java
    tomcat/trunk/java/org/apache/coyote/http11/upgrade/NioProcessor.java

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=1637930&r1=1637929&r2=1637930&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:46:50 2014
@@ -42,11 +42,11 @@ public abstract class AbstractProcessor<
     protected abstract Log getLog();
 
     private final HttpUpgradeHandler httpUpgradeHandler;
-    private final AbstractServletInputStream upgradeServletInputStream;
+    private final ServletInputStreamImpl upgradeServletInputStream;
     private final AbstractServletOutputStream<S> upgradeServletOutputStream;
 
     protected AbstractProcessor (HttpUpgradeHandler httpUpgradeHandler,
-            AbstractServletInputStream upgradeServletInputStream,
+            ServletInputStreamImpl upgradeServletInputStream,
             AbstractServletOutputStream<S> upgradeServletOutputStream) {
         this.httpUpgradeHandler = httpUpgradeHandler;
         this.upgradeServletInputStream = upgradeServletInputStream;

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=1637930&r1=1637929&r2=1637930&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:46:50 2014
@@ -37,7 +37,7 @@ public class AprProcessor extends Abstra
     public AprProcessor(SocketWrapperBase<Long> wrapper, ByteBuffer leftOverInput,
             HttpUpgradeHandler httpUpgradeProcessor, int asyncWriteBufferSize) {
         super(httpUpgradeProcessor,
-                new AprServletInputStream(wrapper),
+                new ServletInputStreamImpl(wrapper),
                 new AprServletOutputStream(wrapper, asyncWriteBufferSize));
         ((AprSocketWrapper) wrapper).setLeftOverInput(leftOverInput);
         Socket.timeoutSet(wrapper.getSocket().longValue(), INFINITE_TIMEOUT);

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=1637930&r1=1637929&r2=1637930&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:46:50 2014
@@ -36,7 +36,7 @@ public class Nio2Processor extends Abstr
     public Nio2Processor(SocketWrapperBase<Nio2Channel> wrapper, ByteBuffer leftoverInput,
             HttpUpgradeHandler httpUpgradeProcessor, int asyncWriteBufferSize) {
         super(httpUpgradeProcessor,
-                new Nio2ServletInputStream(wrapper),
+                new ServletInputStreamImpl(wrapper),
                 new Nio2ServletOutputStream(wrapper, asyncWriteBufferSize));
 
         wrapper.setTimeout(INFINITE_TIMEOUT);

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=1637930&r1=1637929&r2=1637930&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:46:50 2014
@@ -36,7 +36,7 @@ public class NioProcessor extends Abstra
     public NioProcessor(SocketWrapperBase<NioChannel> wrapper, ByteBuffer leftoverInput,
             HttpUpgradeHandler httpUpgradeProcessor, int asyncWriteBufferSize) {
         super(httpUpgradeProcessor,
-                new NioServletInputStream(wrapper),
+                new ServletInputStreamImpl(wrapper),
                 new NioServletOutputStream(wrapper, asyncWriteBufferSize));
 
         wrapper.setTimeout(INFINITE_TIMEOUT);

Copied: tomcat/trunk/java/org/apache/coyote/http11/upgrade/ServletInputStreamImpl.java (from r1637929, tomcat/trunk/java/org/apache/coyote/http11/upgrade/AbstractServletInputStream.java)
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/http11/upgrade/ServletInputStreamImpl.java?p2=tomcat/trunk/java/org/apache/coyote/http11/upgrade/ServletInputStreamImpl.java&p1=tomcat/trunk/java/org/apache/coyote/http11/upgrade/AbstractServletInputStream.java&r1=1637929&r2=1637930&rev=1637930&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/coyote/http11/upgrade/AbstractServletInputStream.java (original)
+++ tomcat/trunk/java/org/apache/coyote/http11/upgrade/ServletInputStreamImpl.java Mon Nov 10 16:46:50 2014
@@ -21,12 +21,15 @@ import java.io.IOException;
 import javax.servlet.ReadListener;
 import javax.servlet.ServletInputStream;
 
+import org.apache.tomcat.util.net.SocketWrapperBase;
 import org.apache.tomcat.util.res.StringManager;
 
-public abstract class AbstractServletInputStream extends ServletInputStream {
+public class ServletInputStreamImpl extends ServletInputStream {
 
     protected static final StringManager sm = StringManager.getManager(
-            AbstractServletInputStream.class.getPackage().getName());
+            ServletInputStreamImpl.class.getPackage().getName());
+
+    private final SocketWrapperBase<?> socketWrapper;
 
     private volatile boolean closeRequired = false;
     // Start in blocking-mode
@@ -34,6 +37,12 @@ public abstract class AbstractServletInp
     private volatile ReadListener listener = null;
     private volatile ClassLoader applicationLoader = null;
 
+
+    public ServletInputStreamImpl(SocketWrapperBase<?> socketWrapper) {
+        this.socketWrapper = socketWrapper;
+    }
+
+
     @Override
     public final boolean isFinished() {
         if (listener == null) {
@@ -59,7 +68,7 @@ public abstract class AbstractServletInp
         }
 
         try {
-            ready = Boolean.valueOf(doIsReady());
+            ready = Boolean.valueOf(socketWrapper.isReady());
         } catch (IOException e) {
             onError(e);
         }
@@ -117,7 +126,7 @@ public abstract class AbstractServletInp
         preReadChecks();
 
         try {
-            return doRead(listener == null, b, off, len);
+            return socketWrapper.read(listener == null, b, off, len);
         } catch (IOException ioe) {
             closeRequired = true;
             throw ioe;
@@ -129,7 +138,7 @@ public abstract class AbstractServletInp
     @Override
     public void close() throws IOException {
         closeRequired = true;
-        doClose();
+        socketWrapper.close();
     }
 
 
@@ -149,7 +158,7 @@ public abstract class AbstractServletInp
         byte[] b = new byte[1];
         int result;
         try {
-            result = doRead(listener == null, b, 0, 1);
+            result = socketWrapper.read(listener == null, b, 0, 1);
         } catch (IOException ioe) {
             closeRequired = true;
             throw ioe;
@@ -202,17 +211,4 @@ public abstract class AbstractServletInp
     protected final boolean isCloseRequired() {
         return closeRequired;
     }
-
-
-    protected abstract boolean doIsReady() throws IOException;
-
-    /**
-     * Abstract method to be overridden by concrete implementations. The base
-     * class will ensure that there are no concurrent calls to this method for
-     * the same socket.
-     */
-    protected abstract int doRead(boolean block, byte[] b, int off, int len)
-            throws IOException;
-
-    protected abstract void doClose() throws IOException;
 }

Propchange: tomcat/trunk/java/org/apache/coyote/http11/upgrade/ServletInputStreamImpl.java
------------------------------------------------------------------------------
    svn:eol-style = native



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