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