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 2015/02/27 16:00:24 UTC

svn commit: r1662695 - in /tomcat/trunk/java/org/apache: coyote/http11/upgrade/ tomcat/websocket/server/

Author: markt
Date: Fri Feb 27 15:00:23 2015
New Revision: 1662695

URL: http://svn.apache.org/r1662695
Log:
Unit tests pass. Still stack traces in test logs to resolve.

Modified:
    tomcat/trunk/java/org/apache/coyote/http11/upgrade/UpgradeProcessorBase.java
    tomcat/trunk/java/org/apache/coyote/http11/upgrade/UpgradeProcessorExternal.java
    tomcat/trunk/java/org/apache/coyote/http11/upgrade/UpgradeProcessorInternal.java
    tomcat/trunk/java/org/apache/tomcat/websocket/server/WsRemoteEndpointImplServer.java

Modified: tomcat/trunk/java/org/apache/coyote/http11/upgrade/UpgradeProcessorBase.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/http11/upgrade/UpgradeProcessorBase.java?rev=1662695&r1=1662694&r2=1662695&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/coyote/http11/upgrade/UpgradeProcessorBase.java (original)
+++ tomcat/trunk/java/org/apache/coyote/http11/upgrade/UpgradeProcessorBase.java Fri Feb 27 15:00:23 2015
@@ -32,6 +32,8 @@ import org.apache.tomcat.util.net.Socket
 
 public abstract class UpgradeProcessorBase implements Processor, WebConnection {
 
+    protected static final int INFINITE_TIMEOUT = -1;
+
     public UpgradeProcessorBase(SocketWrapperBase<?> wrapper, ByteBuffer leftOverInput) {
         wrapper.unRead(leftOverInput);
     }

Modified: tomcat/trunk/java/org/apache/coyote/http11/upgrade/UpgradeProcessorExternal.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/http11/upgrade/UpgradeProcessorExternal.java?rev=1662695&r1=1662694&r2=1662695&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/coyote/http11/upgrade/UpgradeProcessorExternal.java (original)
+++ tomcat/trunk/java/org/apache/coyote/http11/upgrade/UpgradeProcessorExternal.java Fri Feb 27 15:00:23 2015
@@ -32,8 +32,6 @@ import org.apache.tomcat.util.res.String
 
 public class UpgradeProcessorExternal extends UpgradeProcessorBase {
 
-    private static final int INFINITE_TIMEOUT = -1;
-
     private static final Log log = LogFactory.getLog(UpgradeProcessorExternal.class);
     private static final StringManager sm = StringManager.getManager(UpgradeProcessorExternal.class);
 

Modified: tomcat/trunk/java/org/apache/coyote/http11/upgrade/UpgradeProcessorInternal.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/http11/upgrade/UpgradeProcessorInternal.java?rev=1662695&r1=1662694&r2=1662695&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/coyote/http11/upgrade/UpgradeProcessorInternal.java (original)
+++ tomcat/trunk/java/org/apache/coyote/http11/upgrade/UpgradeProcessorInternal.java Fri Feb 27 15:00:23 2015
@@ -34,7 +34,14 @@ public class UpgradeProcessorInternal ex
             InternalHttpUpgradeHandler internalHttpUpgradeHandler) {
         super(wrapper, leftOverInput);
         this.internalHttpUpgradeHandler = internalHttpUpgradeHandler;
+        /*
+         * Leave timeouts in the hands of the upgraded protocol.
+         */
+        wrapper.setReadTimeout(INFINITE_TIMEOUT);
+        wrapper.setWriteTimeout(INFINITE_TIMEOUT);
+
         internalHttpUpgradeHandler.setSocketWrapper(wrapper);
+        wrapper.setInternalUpgrade(true);
     }
 
 

Modified: tomcat/trunk/java/org/apache/tomcat/websocket/server/WsRemoteEndpointImplServer.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/websocket/server/WsRemoteEndpointImplServer.java?rev=1662695&r1=1662694&r2=1662695&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/tomcat/websocket/server/WsRemoteEndpointImplServer.java (original)
+++ tomcat/trunk/java/org/apache/tomcat/websocket/server/WsRemoteEndpointImplServer.java Fri Feb 27 15:00:23 2015
@@ -83,13 +83,9 @@ public class WsRemoteEndpointImplServer
 
     public void onWritePossible(boolean useDispatch) {
         ByteBuffer[] buffers = this.buffers;
-        if (buffers == null) {
-            // Servlet 3.1 will call the write listener once even if nothing
-            // was written
-            return;
-        }
         boolean complete = false;
         try {
+            socketWrapper.flush(false);
             // If this is false there will be a call back when it is true
             while (socketWrapper.isReadyForWrite()) {
                 complete = true;



---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org