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 2016/08/12 07:46:01 UTC
svn commit: r1756087 - in /tomcat/trunk/java/org/apache/coyote:
ajp/AjpProcessor.java http11/Http11Processor.java http2/StreamProcessor.java
Author: markt
Date: Fri Aug 12 07:46:01 2016
New Revision: 1756087
URL: http://svn.apache.org/viewvc?rev=1756087&view=rev
Log:
Align ActionCode.AVAILABLE
Modified:
tomcat/trunk/java/org/apache/coyote/ajp/AjpProcessor.java
tomcat/trunk/java/org/apache/coyote/http11/Http11Processor.java
tomcat/trunk/java/org/apache/coyote/http2/StreamProcessor.java
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=1756087&r1=1756086&r2=1756087&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/coyote/ajp/AjpProcessor.java (original)
+++ tomcat/trunk/java/org/apache/coyote/ajp/AjpProcessor.java Fri Aug 12 07:46:01 2016
@@ -392,11 +392,7 @@ public class AjpProcessor extends Abstra
break;
}
case AVAILABLE: {
- if (available()) {
- request.setAvailable(1);
- } else {
- request.setAvailable(0);
- }
+ request.setAvailable(available(Boolean.TRUE.equals(param)));
break;
}
case REQ_SET_BODY_REPLAY: {
@@ -669,7 +665,7 @@ public class AjpProcessor extends Abstra
@Override
protected void dispatchNonBlockingRead() {
- if (available()) {
+ if (available(true) > 0) {
super.dispatchNonBlockingRead();
}
}
@@ -1450,21 +1446,25 @@ public class AjpProcessor extends Abstra
}
- private boolean available() {
+ private int available(boolean doRead) {
if (endOfStream) {
- return false;
+ return 0;
}
- if (empty) {
+ if (empty && doRead) {
try {
refillReadBuffer(false);
} catch (IOException timeout) {
// Not ideal. This will indicate that data is available
// which should trigger a read which in turn will trigger
// another IOException and that one can be thrown.
- return true;
+ return 1;
}
}
- return !empty;
+ if (empty) {
+ return 0;
+ } else {
+ return bodyBytes.getByteChunk().getLength();
+ }
}
Modified: tomcat/trunk/java/org/apache/coyote/http11/Http11Processor.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/http11/Http11Processor.java?rev=1756087&r1=1756086&r2=1756087&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/coyote/http11/Http11Processor.java (original)
+++ tomcat/trunk/java/org/apache/coyote/http11/Http11Processor.java Fri Aug 12 07:46:01 2016
@@ -685,7 +685,7 @@ public class Http11Processor extends Abs
break;
}
case AVAILABLE: {
- request.setAvailable(inputBuffer.available(Boolean.TRUE.equals(param)));
+ request.setAvailable(available(Boolean.TRUE.equals(param)));
break;
}
case REQ_SET_BODY_REPLAY: {
@@ -1812,6 +1812,11 @@ public class Http11Processor extends Abs
}
+ private int available(boolean doRead) {
+ return inputBuffer.available(doRead);
+ }
+
+
/**
* Checks to see if the keep-alive loop should be broken, performing any
* processing (e.g. sendfile handling) that may have an impact on whether
Modified: tomcat/trunk/java/org/apache/coyote/http2/StreamProcessor.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/http2/StreamProcessor.java?rev=1756087&r1=1756086&r2=1756087&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/coyote/http2/StreamProcessor.java (original)
+++ tomcat/trunk/java/org/apache/coyote/http2/StreamProcessor.java Fri Aug 12 07:46:01 2016
@@ -139,7 +139,7 @@ public class StreamProcessor extends Abs
break;
}
case AVAILABLE: {
- request.setAvailable(stream.getInputBuffer().available());
+ request.setAvailable(available(Boolean.TRUE.equals(param)));
break;
}
case REQ_SET_BODY_REPLAY: {
@@ -400,6 +400,14 @@ public class StreamProcessor extends Abs
}
+ /**
+ * @param doRead Unused for HTTP/2
+ */
+ private int available(boolean doRead) {
+ return stream.getInputBuffer().available();
+ }
+
+
@Override
public void recycle() {
// StreamProcessor instances are not re-used.
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org