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:48:03 UTC
svn commit: r1637941 - in /tomcat/trunk/java/org/apache/coyote/http11: ./
upgrade/
Author: markt
Date: Mon Nov 10 16:48:03 2014
New Revision: 1637941
URL: http://svn.apache.org/r1637941
Log:
No longer need implementation specific upgrade processors. Collapse
class hierarchy into single implementation.
Added:
tomcat/trunk/java/org/apache/coyote/http11/upgrade/UpgradeProcessor.java (contents, props changed)
- copied, changed from r1637940, tomcat/trunk/java/org/apache/coyote/http11/upgrade/AbstractProcessor.java
Removed:
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/Http11AprProtocol.java
tomcat/trunk/java/org/apache/coyote/http11/Http11Nio2Protocol.java
tomcat/trunk/java/org/apache/coyote/http11/Http11NioProtocol.java
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=1637941&r1=1637940&r2=1637941&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:48:03 2014
@@ -23,7 +23,7 @@ import javax.servlet.http.HttpUpgradeHan
import org.apache.coyote.AbstractProtocol;
import org.apache.coyote.Processor;
-import org.apache.coyote.http11.upgrade.AprProcessor;
+import org.apache.coyote.http11.upgrade.UpgradeProcessor;
import org.apache.juli.logging.Log;
import org.apache.juli.logging.LogFactory;
import org.apache.tomcat.util.net.AbstractEndpoint;
@@ -325,7 +325,7 @@ public class Http11AprProtocol extends A
SocketWrapperBase<Long> socket, ByteBuffer leftoverInput,
HttpUpgradeHandler httpUpgradeProcessor)
throws IOException {
- return new AprProcessor(socket, leftoverInput, httpUpgradeProcessor,
+ return new UpgradeProcessor<>(socket, leftoverInput, httpUpgradeProcessor,
proto.getUpgradeAsyncWriteBufferSize());
}
}
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=1637941&r1=1637940&r2=1637941&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:48:03 2014
@@ -25,7 +25,7 @@ import javax.servlet.http.HttpUpgradeHan
import org.apache.coyote.AbstractProtocol;
import org.apache.coyote.Processor;
-import org.apache.coyote.http11.upgrade.Nio2Processor;
+import org.apache.coyote.http11.upgrade.UpgradeProcessor;
import org.apache.juli.logging.Log;
import org.apache.juli.logging.LogFactory;
import org.apache.tomcat.util.net.AbstractEndpoint;
@@ -264,7 +264,7 @@ public class Http11Nio2Protocol extends
SocketWrapperBase<Nio2Channel> socket, ByteBuffer leftoverInput,
HttpUpgradeHandler httpUpgradeProcessor)
throws IOException {
- return new Nio2Processor(socket, leftoverInput,
+ return new UpgradeProcessor<>(socket, leftoverInput,
httpUpgradeProcessor, proto.getUpgradeAsyncWriteBufferSize());
}
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=1637941&r1=1637940&r2=1637941&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:48:03 2014
@@ -26,7 +26,7 @@ import javax.servlet.http.HttpUpgradeHan
import org.apache.coyote.AbstractProtocol;
import org.apache.coyote.Processor;
-import org.apache.coyote.http11.upgrade.NioProcessor;
+import org.apache.coyote.http11.upgrade.UpgradeProcessor;
import org.apache.juli.logging.Log;
import org.apache.juli.logging.LogFactory;
import org.apache.tomcat.util.net.AbstractEndpoint;
@@ -296,7 +296,7 @@ public class Http11NioProtocol extends A
SocketWrapperBase<NioChannel> socket, ByteBuffer leftoverInput,
HttpUpgradeHandler httpUpgradeProcessor)
throws IOException {
- return new NioProcessor(socket, leftoverInput, httpUpgradeProcessor,
+ return new UpgradeProcessor<>(socket, leftoverInput, httpUpgradeProcessor,
proto.getUpgradeAsyncWriteBufferSize());
}
Copied: tomcat/trunk/java/org/apache/coyote/http11/upgrade/UpgradeProcessor.java (from r1637940, tomcat/trunk/java/org/apache/coyote/http11/upgrade/AbstractProcessor.java)
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/http11/upgrade/UpgradeProcessor.java?p2=tomcat/trunk/java/org/apache/coyote/http11/upgrade/UpgradeProcessor.java&p1=tomcat/trunk/java/org/apache/coyote/http11/upgrade/AbstractProcessor.java&r1=1637940&r2=1637941&rev=1637941&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/coyote/http11/upgrade/AbstractProcessor.java (original)
+++ tomcat/trunk/java/org/apache/coyote/http11/upgrade/UpgradeProcessor.java Mon Nov 10 16:48:03 2014
@@ -28,29 +28,34 @@ import javax.servlet.http.WebConnection;
import org.apache.coyote.Processor;
import org.apache.coyote.Request;
import org.apache.juli.logging.Log;
+import org.apache.juli.logging.LogFactory;
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.SocketWrapperBase;
import org.apache.tomcat.util.res.StringManager;
-public abstract class AbstractProcessor<S>
- implements Processor<S>, WebConnection {
+public class UpgradeProcessor<S> implements Processor<S>, WebConnection {
- protected static final StringManager sm = StringManager.getManager(
- AbstractProcessor.class.getPackage().getName());
- protected abstract Log getLog();
+ private static final int INFINITE_TIMEOUT = -1;
+
+ private static final Log log = LogFactory.getLog(UpgradeProcessor.class);
+ private static final StringManager sm = StringManager.getManager(UpgradeProcessor.class);
private final HttpUpgradeHandler httpUpgradeHandler;
private final UpgradeServletInputStream upgradeServletInputStream;
private final UpgradeServletOutputStream upgradeServletOutputStream;
- protected AbstractProcessor (HttpUpgradeHandler httpUpgradeHandler,
- UpgradeServletInputStream upgradeServletInputStream,
- UpgradeServletOutputStream upgradeServletOutputStream) {
+
+ public UpgradeProcessor(SocketWrapperBase<?> wrapper, ByteBuffer leftOverInput,
+ HttpUpgradeHandler httpUpgradeHandler, int asyncWriteBufferSize) {
this.httpUpgradeHandler = httpUpgradeHandler;
- this.upgradeServletInputStream = upgradeServletInputStream;
- this.upgradeServletOutputStream = upgradeServletOutputStream;
+ this.upgradeServletInputStream = new UpgradeServletInputStream(wrapper);
+ this.upgradeServletOutputStream =
+ new UpgradeServletOutputStream(wrapper, asyncWriteBufferSize);
+
+ wrapper.unRead(leftOverInput);
+ wrapper.setTimeout(INFINITE_TIMEOUT);
}
@@ -83,15 +88,15 @@ public abstract class AbstractProcessor<
return true;
}
+
@Override
public HttpUpgradeHandler getHttpUpgradeHandler() {
return httpUpgradeHandler;
}
- @Override
- public final SocketState upgradeDispatch(SocketStatus status)
- throws IOException {
+ @Override
+ public final SocketState upgradeDispatch(SocketStatus status) throws IOException {
if (status == SocketStatus.OPEN_READ) {
upgradeServletInputStream.onDataAvailable();
} else if (status == SocketStatus.OPEN_WRITE) {
@@ -100,14 +105,12 @@ public abstract class AbstractProcessor<
try {
upgradeServletInputStream.close();
} catch (IOException ioe) {
- getLog().debug(sm.getString(
- "abstractProcessor.isCloseFail", ioe));
+ log.debug(sm.getString("abstractProcessor.isCloseFail", ioe));
}
try {
upgradeServletOutputStream.close();
} catch (IOException ioe) {
- getLog().debug(sm.getString(
- "abstractProcessor.osCloseFail", ioe));
+ log.debug(sm.getString("abstractProcessor.osCloseFail", ioe));
}
return SocketState.CLOSED;
} else {
@@ -121,6 +124,7 @@ public abstract class AbstractProcessor<
return SocketState.UPGRADED;
}
+
@Override
public final void recycle(boolean socketClosing) {
// Currently a NO-OP as upgrade processors are not recycled.
@@ -134,42 +138,49 @@ public abstract class AbstractProcessor<
return null;
}
+
@Override
- public final SocketState process(SocketWrapperBase<S> socketWrapper)
- throws IOException {
+ public final SocketState process(SocketWrapperBase<S> socketWrapper) throws IOException {
return null;
}
+
@Override
public final SocketState asyncDispatch(SocketStatus status) {
return null;
}
+
@Override
public void errorDispatch() {
// NO-OP
}
+
@Override
public final SocketState asyncPostProcess() {
return null;
}
+
@Override
public final boolean isAsync() {
return false;
}
+
@Override
public final Request getRequest() {
return null;
}
+
@Override
public final void setSslSupport(SSLSupport sslSupport) {
// NOOP
}
+
@Override
public ByteBuffer getLeftoverInput() {
return null;
Propchange: tomcat/trunk/java/org/apache/coyote/http11/upgrade/UpgradeProcessor.java
------------------------------------------------------------------------------
svn:eol-style = native
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org