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 2013/08/30 23:57:45 UTC

svn commit: r1519097 - in /tomcat/trunk/java/org/apache/coyote/ajp: AbstractAjpProcessor.java AjpAprProcessor.java AjpNioProcessor.java AjpProcessor.java

Author: markt
Date: Fri Aug 30 21:57:45 2013
New Revision: 1519097

URL: http://svn.apache.org/r1519097
Log:
Pull up receive

Modified:
    tomcat/trunk/java/org/apache/coyote/ajp/AbstractAjpProcessor.java
    tomcat/trunk/java/org/apache/coyote/ajp/AjpAprProcessor.java
    tomcat/trunk/java/org/apache/coyote/ajp/AjpNioProcessor.java
    tomcat/trunk/java/org/apache/coyote/ajp/AjpProcessor.java

Modified: tomcat/trunk/java/org/apache/coyote/ajp/AbstractAjpProcessor.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/ajp/AbstractAjpProcessor.java?rev=1519097&r1=1519096&r2=1519097&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/coyote/ajp/AbstractAjpProcessor.java (original)
+++ tomcat/trunk/java/org/apache/coyote/ajp/AbstractAjpProcessor.java Fri Aug 30 21:57:45 2013
@@ -649,8 +649,47 @@ public abstract class AbstractAjpProcess
             throws IOException;
 
     // Methods used by SocketInputBuffer
-    protected abstract boolean receive() throws IOException;
+    /** Receive a chunk of data. Called to implement the
+     *  'special' packet in ajp13 and to receive the data
+     *  after we send a GET_BODY packet
+     */
+    protected boolean receive() throws IOException {
+
+        first = false;
+        bodyMessage.reset();
+
+        readMessage(bodyMessage, true);
+
+        // No data received.
+        if (bodyMessage.getLen() == 0) {
+            // just the header
+            // Don't mark 'end of stream' for the first chunk.
+            return false;
+        }
+        int blen = bodyMessage.peekInt();
+        if (blen == 0) {
+            return false;
+        }
 
+        bodyMessage.getBodyBytes(bodyBytes);
+        empty = false;
+        return true;
+    }
+
+
+    /**
+     * Read an AJP message.
+     *
+     * @param message   The message to populate
+     * @param block If there is no data available to read when this method is
+     *              called, should this call block until data becomes available?
+
+     * @return true if the message has been read, false if no data was read
+     *
+     * @throws IOException any other failure, including incomplete reads
+     */
+    protected abstract boolean readMessage(AjpMessage message,
+            boolean blockOnFirstRead) throws IOException;
 
     @Override
     public final boolean isComet() {

Modified: tomcat/trunk/java/org/apache/coyote/ajp/AjpAprProcessor.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/ajp/AjpAprProcessor.java?rev=1519097&r1=1519096&r2=1519097&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/coyote/ajp/AjpAprProcessor.java (original)
+++ tomcat/trunk/java/org/apache/coyote/ajp/AjpAprProcessor.java Fri Aug 30 21:57:45 2013
@@ -429,35 +429,6 @@ public class AjpAprProcessor extends Abs
     }
 
 
-    /** Receive a chunk of data. Called to implement the
-     *  'special' packet in ajp13 and to receive the data
-     *  after we send a GET_BODY packet
-     */
-    @Override
-    public boolean receive() throws IOException {
-
-        first = false;
-        bodyMessage.reset();
-
-        readMessage(bodyMessage, true);
-
-        // No data received.
-        if (bodyMessage.getLen() == 0) {
-            // just the header
-            // Don't mark 'end of stream' for the first chunk.
-            return false;
-        }
-        int blen = bodyMessage.peekInt();
-        if (blen == 0) {
-            return false;
-        }
-
-        bodyMessage.getBodyBytes(bodyBytes);
-        empty = false;
-        return true;
-    }
-
-
     /**
      * Read an AJP message.
      *
@@ -468,6 +439,7 @@ public class AjpAprProcessor extends Abs
      *
      * @throws IOException any other failure, including incomplete reads
      */
+    @Override
     protected boolean readMessage(AjpMessage message, boolean block)
         throws IOException {
 

Modified: tomcat/trunk/java/org/apache/coyote/ajp/AjpNioProcessor.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/ajp/AjpNioProcessor.java?rev=1519097&r1=1519096&r2=1519097&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/coyote/ajp/AjpNioProcessor.java (original)
+++ tomcat/trunk/java/org/apache/coyote/ajp/AjpNioProcessor.java Fri Aug 30 21:57:45 2013
@@ -363,35 +363,6 @@ public class AjpNioProcessor extends Abs
     }
 
 
-    /** Receive a chunk of data. Called to implement the
-     *  'special' packet in ajp13 and to receive the data
-     *  after we send a GET_BODY packet
-     */
-    @Override
-    public boolean receive() throws IOException {
-
-        first = false;
-        bodyMessage.reset();
-
-        readMessage(bodyMessage, true);
-
-        // No data received.
-        if (bodyMessage.getLen() == 0) {
-            // just the header
-            // Don't mark 'end of stream' for the first chunk.
-            return false;
-        }
-        int blen = bodyMessage.peekInt();
-        if (blen == 0) {
-            return false;
-        }
-
-        bodyMessage.getBodyBytes(bodyBytes);
-        empty = false;
-        return true;
-    }
-
-
     /**
      * Read an AJP message.
      *
@@ -399,6 +370,7 @@ public class AjpNioProcessor extends Abs
      *
      * @throws IOException any other failure, including incomplete reads
      */
+    @Override
     protected boolean readMessage(AjpMessage message, boolean blockFirstRead)
         throws IOException {
 
@@ -430,7 +402,7 @@ public class AjpNioProcessor extends Abs
                         Integer.valueOf(messageLength),
                         Integer.valueOf(buf.length)));
             }
-            bytesRead += read(buf, headerLength, messageLength, true);
+            read(buf, headerLength, messageLength, true);
             return true;
         }
     }

Modified: tomcat/trunk/java/org/apache/coyote/ajp/AjpProcessor.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/ajp/AjpProcessor.java?rev=1519097&r1=1519096&r2=1519097&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/coyote/ajp/AjpProcessor.java (original)
+++ tomcat/trunk/java/org/apache/coyote/ajp/AjpProcessor.java Fri Aug 30 21:57:45 2013
@@ -312,35 +312,6 @@ public class AjpProcessor extends Abstra
     }
 
 
-    /** Receive a chunk of data. Called to implement the
-     *  'special' packet in ajp13 and to receive the data
-     *  after we send a GET_BODY packet
-     */
-    @Override
-    public boolean receive() throws IOException {
-
-        first = false;
-        bodyMessage.reset();
-
-        readMessage(bodyMessage, true);
-
-        // No data received.
-        if (bodyMessage.getLen() == 0) {
-            // just the header
-            // Don't mark 'end of stream' for the first chunk.
-            return false;
-        }
-        int blen = bodyMessage.peekInt();
-        if (blen == 0) {
-            return false;
-        }
-
-        bodyMessage.getBodyBytes(bodyBytes);
-        empty = false;
-        return true;
-    }
-
-
     /**
      * Read an AJP message.
      *
@@ -350,6 +321,7 @@ public class AjpProcessor extends Abstra
      *         didn't return anything
      * @throws IOException any other failure, including incomplete reads
      */
+    @Override
     protected boolean readMessage(AjpMessage message, boolean ignored)
         throws IOException {
 



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