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-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org