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 2012/11/24 18:18:15 UTC
svn commit: r1413207 - in /tomcat/trunk/java/org/apache/coyote: ./ ajp/
http11/ http11/upgrade/
Author: markt
Date: Sat Nov 24 17:18:14 2012
New Revision: 1413207
URL: http://svn.apache.org/viewvc?rev=1413207&view=rev
Log:
Update HttpProtocol implementations to the Servlet 3.1 upgrade API
Modified:
tomcat/trunk/java/org/apache/coyote/AbstractProtocol.java
tomcat/trunk/java/org/apache/coyote/ajp/AbstractAjpProtocol.java
tomcat/trunk/java/org/apache/coyote/http11/Http11AprProtocol.java
tomcat/trunk/java/org/apache/coyote/http11/Http11NioProtocol.java
tomcat/trunk/java/org/apache/coyote/http11/Http11Protocol.java
tomcat/trunk/java/org/apache/coyote/http11/upgrade/UpgradeAprProcessor.java
tomcat/trunk/java/org/apache/coyote/http11/upgrade/UpgradeBioProcessor.java
tomcat/trunk/java/org/apache/coyote/http11/upgrade/UpgradeNioProcessor.java
Modified: tomcat/trunk/java/org/apache/coyote/AbstractProtocol.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/AbstractProtocol.java?rev=1413207&r1=1413206&r2=1413207&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/coyote/AbstractProtocol.java (original)
+++ tomcat/trunk/java/org/apache/coyote/AbstractProtocol.java Sat Nov 24 17:18:14 2012
@@ -30,7 +30,6 @@ import javax.management.MBeanServer;
import javax.management.MalformedObjectNameException;
import javax.management.ObjectName;
-import org.apache.coyote.http11.upgrade.UpgradeInbound;
import org.apache.juli.logging.Log;
import org.apache.tomcat.util.ExceptionUtils;
import org.apache.tomcat.util.collections.SynchronizedStack;
@@ -625,13 +624,14 @@ public abstract class AbstractProtocol i
}
if (state == SocketState.UPGRADING) {
- // Get the UpgradeInbound handler
- UpgradeInbound inbound = processor.getUpgradeInbound();
+ // Get the HTTP upgrade handler
+ javax.servlet.http.ProtocolHandler httpUpgradeHandler =
+ processor.getHttpUpgradeHandler();
// Release the Http11 processor to be re-used
release(socket, processor, false, false);
// Create the light-weight upgrade processor
- processor = createUpgradeProcessor(socket, inbound);
- inbound.onUpgradeComplete();
+ processor = createUpgradeProcessor(
+ socket, httpUpgradeHandler);
}
} while (state == SocketState.ASYNC_END ||
state == SocketState.UPGRADING);
@@ -698,7 +698,8 @@ public abstract class AbstractProtocol i
boolean addToPoller);
protected abstract Processor<S> createUpgradeProcessor(
SocketWrapper<S> socket,
- UpgradeInbound inbound) throws IOException;
+ javax.servlet.http.ProtocolHandler httpUpgradeProcessor)
+ throws IOException;
protected void register(AbstractProcessor<S> processor) {
if (getProtocol().getDomain() != null) {
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=1413207&r1=1413206&r2=1413207&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/coyote/ajp/AbstractAjpProtocol.java (original)
+++ tomcat/trunk/java/org/apache/coyote/ajp/AbstractAjpProtocol.java Sat Nov 24 17:18:14 2012
@@ -16,9 +16,10 @@
*/
package org.apache.coyote.ajp;
+import javax.servlet.http.ProtocolHandler;
+
import org.apache.coyote.AbstractProtocol;
import org.apache.coyote.Processor;
-import org.apache.coyote.http11.upgrade.UpgradeInbound;
import org.apache.tomcat.util.net.SocketWrapper;
import org.apache.tomcat.util.res.StringManager;
@@ -92,7 +93,7 @@ public abstract class AbstractAjpProtoco
@Override
protected P createUpgradeProcessor(SocketWrapper<S> socket,
- UpgradeInbound inbound) {
+ ProtocolHandler httpUpgradeHandler) {
// TODO should fail - throw IOE
return null;
}
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=1413207&r1=1413206&r2=1413207&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/coyote/http11/Http11AprProtocol.java (original)
+++ tomcat/trunk/java/org/apache/coyote/http11/Http11AprProtocol.java Sat Nov 24 17:18:14 2012
@@ -18,10 +18,11 @@ package org.apache.coyote.http11;
import java.io.IOException;
+import javax.servlet.http.ProtocolHandler;
+
import org.apache.coyote.AbstractProtocol;
import org.apache.coyote.Processor;
import org.apache.coyote.http11.upgrade.UpgradeAprProcessor;
-import org.apache.coyote.http11.upgrade.UpgradeInbound;
import org.apache.juli.logging.Log;
import org.apache.juli.logging.LogFactory;
import org.apache.tomcat.util.net.AbstractEndpoint;
@@ -308,8 +309,7 @@ public class Http11AprProtocol extends A
} else {
// Upgraded
((AprEndpoint) proto.endpoint).getPoller().add(
- socket.getSocket().longValue(),
- processor.getUpgradeInbound().getReadTimeout(),
+ socket.getSocket().longValue(), -1,
AprEndpoint.Poller.FLAGS_READ);
}
}
@@ -340,9 +340,10 @@ public class Http11AprProtocol extends A
@Override
protected Processor<Long> createUpgradeProcessor(
- SocketWrapper<Long> socket, UpgradeInbound inbound)
+ SocketWrapper<Long> socket,
+ ProtocolHandler httpUpgradeProcessor)
throws IOException {
- return new UpgradeAprProcessor(socket, inbound);
+ return new UpgradeAprProcessor(socket, httpUpgradeProcessor);
}
}
}
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=1413207&r1=1413206&r2=1413207&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/coyote/http11/Http11NioProtocol.java (original)
+++ tomcat/trunk/java/org/apache/coyote/http11/Http11NioProtocol.java Sat Nov 24 17:18:14 2012
@@ -21,10 +21,10 @@ import java.nio.channels.SocketChannel;
import java.util.Iterator;
import javax.net.ssl.SSLEngine;
+import javax.servlet.http.ProtocolHandler;
import org.apache.coyote.AbstractProtocol;
import org.apache.coyote.Processor;
-import org.apache.coyote.http11.upgrade.UpgradeInbound;
import org.apache.coyote.http11.upgrade.UpgradeNioProcessor;
import org.apache.juli.logging.Log;
import org.apache.juli.logging.LogFactory;
@@ -303,9 +303,10 @@ public class Http11NioProtocol extends A
@Override
protected Processor<NioChannel> createUpgradeProcessor(
- SocketWrapper<NioChannel> socket, UpgradeInbound inbound)
+ SocketWrapper<NioChannel> socket,
+ ProtocolHandler httpUpgradeProcessor)
throws IOException {
- return new UpgradeNioProcessor(socket, inbound,
+ return new UpgradeNioProcessor(socket, httpUpgradeProcessor,
((Http11NioProtocol) getProtocol()).getEndpoint().getSelectorPool());
}
Modified: tomcat/trunk/java/org/apache/coyote/http11/Http11Protocol.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/http11/Http11Protocol.java?rev=1413207&r1=1413206&r2=1413207&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/coyote/http11/Http11Protocol.java (original)
+++ tomcat/trunk/java/org/apache/coyote/http11/Http11Protocol.java Sat Nov 24 17:18:14 2012
@@ -19,10 +19,11 @@ package org.apache.coyote.http11;
import java.io.IOException;
import java.net.Socket;
+import javax.servlet.http.ProtocolHandler;
+
import org.apache.coyote.AbstractProtocol;
import org.apache.coyote.Processor;
import org.apache.coyote.http11.upgrade.UpgradeBioProcessor;
-import org.apache.coyote.http11.upgrade.UpgradeInbound;
import org.apache.juli.logging.Log;
import org.apache.tomcat.util.net.AbstractEndpoint;
import org.apache.tomcat.util.net.JIoEndpoint;
@@ -208,9 +209,10 @@ public class Http11Protocol extends Abst
@Override
protected Processor<Socket> createUpgradeProcessor(
- SocketWrapper<Socket> socket, UpgradeInbound inbound)
+ SocketWrapper<Socket> socket,
+ ProtocolHandler httpUpgradeProcessor)
throws IOException {
- return new UpgradeBioProcessor(socket, inbound);
+ return new UpgradeBioProcessor(socket, httpUpgradeProcessor);
}
@Override
Modified: tomcat/trunk/java/org/apache/coyote/http11/upgrade/UpgradeAprProcessor.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/http11/upgrade/UpgradeAprProcessor.java?rev=1413207&r1=1413206&r2=1413207&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/coyote/http11/upgrade/UpgradeAprProcessor.java (original)
+++ tomcat/trunk/java/org/apache/coyote/http11/upgrade/UpgradeAprProcessor.java Sat Nov 24 17:18:14 2012
@@ -18,6 +18,8 @@ package org.apache.coyote.http11.upgrade
import java.io.IOException;
+import javax.servlet.http.ProtocolHandler;
+
import org.apache.tomcat.jni.Socket;
import org.apache.tomcat.jni.Status;
import org.apache.tomcat.util.net.SocketWrapper;
@@ -28,7 +30,7 @@ public class UpgradeAprProcessor extends
public UpgradeAprProcessor(SocketWrapper<Long> wrapper,
- UpgradeInbound upgradeInbound) {
+ ProtocolHandler httpUpgradeProcessor) {
super(upgradeInbound);
Socket.timeoutSet(wrapper.getSocket().longValue(),
Modified: tomcat/trunk/java/org/apache/coyote/http11/upgrade/UpgradeBioProcessor.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/http11/upgrade/UpgradeBioProcessor.java?rev=1413207&r1=1413206&r2=1413207&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/coyote/http11/upgrade/UpgradeBioProcessor.java (original)
+++ tomcat/trunk/java/org/apache/coyote/http11/upgrade/UpgradeBioProcessor.java Sat Nov 24 17:18:14 2012
@@ -21,6 +21,8 @@ import java.io.InputStream;
import java.io.OutputStream;
import java.net.Socket;
+import javax.servlet.http.ProtocolHandler;
+
import org.apache.tomcat.util.net.SocketWrapper;
public class UpgradeBioProcessor extends UpgradeProcessor<Socket> {
@@ -29,7 +31,7 @@ public class UpgradeBioProcessor extends
private final OutputStream outputStream;
public UpgradeBioProcessor(SocketWrapper<Socket> wrapper,
- UpgradeInbound upgradeInbound) throws IOException {
+ ProtocolHandler httpUpgradeProcessor) throws IOException {
super(upgradeInbound);
int timeout = upgradeInbound.getReadTimeout();
Modified: tomcat/trunk/java/org/apache/coyote/http11/upgrade/UpgradeNioProcessor.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/http11/upgrade/UpgradeNioProcessor.java?rev=1413207&r1=1413206&r2=1413207&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/coyote/http11/upgrade/UpgradeNioProcessor.java (original)
+++ tomcat/trunk/java/org/apache/coyote/http11/upgrade/UpgradeNioProcessor.java Sat Nov 24 17:18:14 2012
@@ -21,6 +21,8 @@ import java.io.IOException;
import java.nio.ByteBuffer;
import java.nio.channels.Selector;
+import javax.servlet.http.ProtocolHandler;
+
import org.apache.tomcat.util.net.NioChannel;
import org.apache.tomcat.util.net.NioEndpoint;
import org.apache.tomcat.util.net.NioSelectorPool;
@@ -34,7 +36,7 @@ public class UpgradeNioProcessor extends
private final int maxWrite;
public UpgradeNioProcessor(SocketWrapper<NioChannel> wrapper,
- UpgradeInbound upgradeInbound, NioSelectorPool pool) {
+ ProtocolHandler httpUpgradeProcessor, NioSelectorPool pool) {
super(upgradeInbound);
wrapper.setTimeout(upgradeInbound.getReadTimeout());
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org