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/05/02 22:58:25 UTC
svn commit: r1478539 - in /tomcat/trunk/java/org/apache/coyote/http11:
AbstractOutputBuffer.java InternalAprOutputBuffer.java
InternalNioOutputBuffer.java InternalOutputBuffer.java
Author: markt
Date: Thu May 2 20:58:25 2013
New Revision: 1478539
URL: http://svn.apache.org/r1478539
Log:
Pull up hasDataToWrite()
Modified:
tomcat/trunk/java/org/apache/coyote/http11/AbstractOutputBuffer.java
tomcat/trunk/java/org/apache/coyote/http11/InternalAprOutputBuffer.java
tomcat/trunk/java/org/apache/coyote/http11/InternalNioOutputBuffer.java
tomcat/trunk/java/org/apache/coyote/http11/InternalOutputBuffer.java
Modified: tomcat/trunk/java/org/apache/coyote/http11/AbstractOutputBuffer.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/http11/AbstractOutputBuffer.java?rev=1478539&r1=1478538&r2=1478539&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/coyote/http11/AbstractOutputBuffer.java (original)
+++ tomcat/trunk/java/org/apache/coyote/http11/AbstractOutputBuffer.java Thu May 2 20:58:25 2013
@@ -20,6 +20,7 @@ import java.io.IOException;
import java.nio.ByteBuffer;
import java.security.AccessController;
import java.security.PrivilegedAction;
+import java.util.Iterator;
import java.util.concurrent.LinkedBlockingDeque;
import java.util.concurrent.atomic.AtomicBoolean;
@@ -603,7 +604,8 @@ public abstract class AbstractOutputBuff
//------------------------------------------------------ Non-blocking writes
- protected abstract boolean hasDataToWrite();
+ protected abstract boolean hasMoreDataToFlush();
+
/**
* Writes any remaining buffered data.
@@ -640,6 +642,23 @@ public abstract class AbstractOutputBuff
}
+ public final boolean hasDataToWrite() {
+ return hasMoreDataToFlush() || hasBufferedData();
+ }
+
+
+ private boolean hasBufferedData() {
+ boolean result = false;
+ if (bufferedWrites!=null) {
+ Iterator<ByteBufferHolder> iter = bufferedWrites.iterator();
+ while (!result && iter.hasNext()) {
+ result = iter.next().hasData();
+ }
+ }
+ return result;
+ }
+
+
protected static class ByteBufferHolder {
private final ByteBuffer buf;
private final AtomicBoolean flipped;
Modified: tomcat/trunk/java/org/apache/coyote/http11/InternalAprOutputBuffer.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/http11/InternalAprOutputBuffer.java?rev=1478539&r1=1478538&r2=1478539&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/coyote/http11/InternalAprOutputBuffer.java (original)
+++ tomcat/trunk/java/org/apache/coyote/http11/InternalAprOutputBuffer.java Thu May 2 20:58:25 2013
@@ -168,7 +168,7 @@ public class InternalAprOutputBuffer ext
//-------------------------------------------------- Non-blocking IO methods
@Override
- protected boolean hasDataToWrite() {
+ protected boolean hasMoreDataToFlush() {
// TODO
return false;
}
Modified: tomcat/trunk/java/org/apache/coyote/http11/InternalNioOutputBuffer.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/http11/InternalNioOutputBuffer.java?rev=1478539&r1=1478538&r2=1478539&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/coyote/http11/InternalNioOutputBuffer.java (original)
+++ tomcat/trunk/java/org/apache/coyote/http11/InternalNioOutputBuffer.java Thu May 2 20:58:25 2013
@@ -269,7 +269,8 @@ public class InternalNioOutputBuffer ext
return dataLeft;
}
- private boolean hasMoreDataToFlush() {
+ @Override
+ protected boolean hasMoreDataToFlush() {
return (flipped && socket.getBufHandler().getWriteBuffer().remaining()>0) ||
(!flipped && socket.getBufHandler().getWriteBuffer().position() > 0);
}
@@ -290,25 +291,6 @@ public class InternalNioOutputBuffer ext
}
- //-------------------------------------------------- Non-blocking IO methods
-
- private boolean hasBufferedData() {
- boolean result = false;
- if (bufferedWrites!=null) {
- Iterator<ByteBufferHolder> iter = bufferedWrites.iterator();
- while (!result && iter.hasNext()) {
- result = iter.next().hasData();
- }
- }
- return result;
- }
-
- @Override
- public boolean hasDataToWrite() {
- return hasMoreDataToFlush() || hasBufferedData();
- }
-
-
// ----------------------------------- OutputStreamOutputBuffer Inner Class
/**
Modified: tomcat/trunk/java/org/apache/coyote/http11/InternalOutputBuffer.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/http11/InternalOutputBuffer.java?rev=1478539&r1=1478538&r2=1478539&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/coyote/http11/InternalOutputBuffer.java (original)
+++ tomcat/trunk/java/org/apache/coyote/http11/InternalOutputBuffer.java Thu May 2 20:58:25 2013
@@ -185,7 +185,7 @@ public class InternalOutputBuffer extend
//-------------------------------------------------- Non-blocking IO methods
@Override
- protected boolean hasDataToWrite() {
+ protected boolean hasMoreDataToFlush() {
// TODO
return false;
}
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org