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