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 2011/07/08 13:40:36 UTC

svn commit: r1144271 - in /tomcat/trunk/java/org/apache: coyote/ajp/AjpAprProtocol.java coyote/ajp/AjpNioProtocol.java coyote/ajp/AjpProtocol.java tomcat/util/net/AbstractEndpoint.java

Author: markt
Date: Fri Jul  8 11:40:36 2011
New Revision: 1144271

URL: http://svn.apache.org/viewvc?rev=1144271&view=rev
Log:
Align the process methods some more.

Modified:
    tomcat/trunk/java/org/apache/coyote/ajp/AjpAprProtocol.java
    tomcat/trunk/java/org/apache/coyote/ajp/AjpNioProtocol.java
    tomcat/trunk/java/org/apache/coyote/ajp/AjpProtocol.java
    tomcat/trunk/java/org/apache/tomcat/util/net/AbstractEndpoint.java

Modified: tomcat/trunk/java/org/apache/coyote/ajp/AjpAprProtocol.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/ajp/AjpAprProtocol.java?rev=1144271&r1=1144270&r2=1144271&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/coyote/ajp/AjpAprProtocol.java (original)
+++ tomcat/trunk/java/org/apache/coyote/ajp/AjpAprProtocol.java Fri Jul  8 11:40:36 2011
@@ -174,7 +174,6 @@ public class AjpAprProtocol extends Abst
                     recycledProcessors.offer(processor);
                 }
                 return state;
-
             } catch(java.net.SocketException e) {
                 // SocketExceptions are normal
                 log.debug(sm.getString(

Modified: tomcat/trunk/java/org/apache/coyote/ajp/AjpNioProtocol.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/ajp/AjpNioProtocol.java?rev=1144271&r1=1144270&r2=1144271&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/coyote/ajp/AjpNioProtocol.java (original)
+++ tomcat/trunk/java/org/apache/coyote/ajp/AjpNioProtocol.java Fri Jul  8 11:40:36 2011
@@ -206,7 +206,6 @@ public class AjpNioProtocol extends Abst
                     // In the middle of processing a request/response. Keep the
                     // socket associated with the processor.
                     connections.put(socket, processor);
-                    
                     socket.setAsync(true);
                 } else if (state == SocketState.OPEN){
                     // In keep-alive but between requests. OK to recycle
@@ -218,7 +217,6 @@ public class AjpNioProtocol extends Abst
                     release(socket, processor, true);
                 }
                 return state;
-
             } catch(java.net.SocketException e) {
                 // SocketExceptions are normal
                 log.debug(sm.getString(

Modified: tomcat/trunk/java/org/apache/coyote/ajp/AjpProtocol.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/ajp/AjpProtocol.java?rev=1144271&r1=1144270&r2=1144271&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/coyote/ajp/AjpProtocol.java (original)
+++ tomcat/trunk/java/org/apache/coyote/ajp/AjpProtocol.java Fri Jul  8 11:40:36 2011
@@ -125,8 +125,12 @@ public class AjpProtocol extends Abstrac
         }
         
         @Override
-        public SocketState process(SocketWrapper<Socket> socket, SocketStatus status) {
+        public SocketState process(SocketWrapper<Socket> socket,
+                SocketStatus status) {
             AjpProcessor processor = connections.remove(socket);
+
+            socket.setAsync(false);
+
             try {
                 if (processor == null) {
                     processor = recycledProcessors.poll();
@@ -147,12 +151,15 @@ public class AjpProtocol extends Abstrac
                         state = processor.asyncPostProcess();
                     }
                 } while (state == SocketState.ASYNC_END);
-                // TODO Better to add a new state to the AsyncStateMachine and
-                //      remove ASYNC_END entirely
 
                 if (state == SocketState.LONG) {
+                    // In the middle of processing a request/response. Keep the
+                    // socket associated with the processor.
                     connections.put(socket, processor);
+                    socket.setAsync(true);
                 } else if (state == SocketState.OPEN){
+                    // In keep-alive but between requests. OK to recycle
+                    // processor. Continue to poll for the next request.
                     processor.recycle(false);
                     recycledProcessors.offer(processor);
                 } else {

Modified: tomcat/trunk/java/org/apache/tomcat/util/net/AbstractEndpoint.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/net/AbstractEndpoint.java?rev=1144271&r1=1144270&r2=1144271&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/tomcat/util/net/AbstractEndpoint.java (original)
+++ tomcat/trunk/java/org/apache/tomcat/util/net/AbstractEndpoint.java Fri Jul  8 11:40:36 2011
@@ -52,6 +52,8 @@ public abstract class AbstractEndpoint {
          * Different types of socket states to react upon.
          */
         public enum SocketState {
+            // TODO Add a new state to the AsyncStateMachine and remove
+            //      ASYNC_END (if possible)
             OPEN, CLOSED, LONG, ASYNC_END
         }
         



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