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/01/08 14:10:27 UTC
svn commit: r1650275 - in /tomcat/trunk/java/org/apache: coyote/http11/
tomcat/util/net/
Author: markt
Date: Thu Jan 8 13:10:26 2015
New Revision: 1650275
URL: http://svn.apache.org/r1650275
Log:
Push register write-interest down into the SocketWrapper
Modified:
tomcat/trunk/java/org/apache/coyote/http11/InternalAprOutputBuffer.java
tomcat/trunk/java/org/apache/coyote/http11/InternalNioOutputBuffer.java
tomcat/trunk/java/org/apache/tomcat/util/net/AprEndpoint.java
tomcat/trunk/java/org/apache/tomcat/util/net/Nio2Endpoint.java
tomcat/trunk/java/org/apache/tomcat/util/net/NioEndpoint.java
tomcat/trunk/java/org/apache/tomcat/util/net/SocketWrapperBase.java
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=1650275&r1=1650274&r2=1650275&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/coyote/http11/InternalAprOutputBuffer.java (original)
+++ tomcat/trunk/java/org/apache/coyote/http11/InternalAprOutputBuffer.java Thu Jan 8 13:10:26 2015
@@ -14,14 +14,12 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-
package org.apache.coyote.http11;
import java.io.IOException;
import java.nio.ByteBuffer;
import org.apache.coyote.Response;
-import org.apache.tomcat.util.net.AprEndpoint;
import org.apache.tomcat.util.net.SocketWrapperBase;
/**
@@ -83,8 +81,7 @@ public class InternalAprOutputBuffer ext
@Override
- protected void registerWriteInterest() {
- ((AprEndpoint) socketWrapper.getEndpoint()).getPoller().add(
- socketWrapper.getSocket().longValue(), -1, false, true);
+ protected void registerWriteInterest() throws IOException {
+ socketWrapper.registerWriteInterest();
}
}
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=1650275&r1=1650274&r2=1650275&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/coyote/http11/InternalNioOutputBuffer.java (original)
+++ tomcat/trunk/java/org/apache/coyote/http11/InternalNioOutputBuffer.java Thu Jan 8 13:10:26 2015
@@ -14,15 +14,12 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-
package org.apache.coyote.http11;
import java.io.IOException;
-import java.nio.channels.SelectionKey;
import org.apache.coyote.Response;
import org.apache.tomcat.util.net.NioChannel;
-import org.apache.tomcat.util.net.NioEndpoint.NioSocketWrapper;
import org.apache.tomcat.util.net.SocketWrapperBase;
/**
@@ -78,6 +75,6 @@ public class InternalNioOutputBuffer ext
@Override
protected void registerWriteInterest() throws IOException {
- ((NioSocketWrapper) socketWrapper).getPoller().add(socketWrapper.getSocket(), SelectionKey.OP_WRITE);
+ socketWrapper.registerWriteInterest();
}
}
Modified: tomcat/trunk/java/org/apache/tomcat/util/net/AprEndpoint.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/net/AprEndpoint.java?rev=1650275&r1=1650274&r2=1650275&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/tomcat/util/net/AprEndpoint.java (original)
+++ tomcat/trunk/java/org/apache/tomcat/util/net/AprEndpoint.java Thu Jan 8 13:10:26 2015
@@ -2615,6 +2615,12 @@ public class AprEndpoint extends Abstrac
@Override
+ public void registerWriteInterest() throws IOException {
+ ((AprEndpoint) getEndpoint()).getPoller().add(getSocket().longValue(), -1, false, true);
+ }
+
+
+ @Override
public void regsiterForEvent(boolean read, boolean write) {
((AprEndpoint) getEndpoint()).getPoller().add(
getSocket().longValue(), -1, read, write);
Modified: tomcat/trunk/java/org/apache/tomcat/util/net/Nio2Endpoint.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/net/Nio2Endpoint.java?rev=1650275&r1=1650274&r2=1650275&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/tomcat/util/net/Nio2Endpoint.java (original)
+++ tomcat/trunk/java/org/apache/tomcat/util/net/Nio2Endpoint.java Thu Jan 8 13:10:26 2015
@@ -1070,10 +1070,17 @@ public class Nio2Endpoint extends Abstra
@Override
+ public void registerWriteInterest() throws IOException {
+ // TODO Auto-generated method stub
+ }
+
+
+ @Override
public void regsiterForEvent(boolean read, boolean write) {
// NO-OP. Appropriate handlers will already have been registered.
}
+
@Override
public boolean flush(boolean block) throws IOException {
// TODO Auto-generated method stub
Modified: tomcat/trunk/java/org/apache/tomcat/util/net/NioEndpoint.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/net/NioEndpoint.java?rev=1650275&r1=1650274&r2=1650275&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/tomcat/util/net/NioEndpoint.java (original)
+++ tomcat/trunk/java/org/apache/tomcat/util/net/NioEndpoint.java Thu Jan 8 13:10:26 2015
@@ -1547,6 +1547,13 @@ public class NioEndpoint extends Abstrac
return written;
}
+
+ @Override
+ public void registerWriteInterest() throws IOException {
+ getPoller().add(getSocket(), SelectionKey.OP_WRITE);
+ }
+
+
@Override
public void regsiterForEvent(boolean read, boolean write) {
SelectionKey key = getSocket().getIOChannel().keyFor(
Modified: tomcat/trunk/java/org/apache/tomcat/util/net/SocketWrapperBase.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/net/SocketWrapperBase.java?rev=1650275&r1=1650274&r2=1650275&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/tomcat/util/net/SocketWrapperBase.java (original)
+++ tomcat/trunk/java/org/apache/tomcat/util/net/SocketWrapperBase.java Thu Jan 8 13:10:26 2015
@@ -262,6 +262,7 @@ public abstract class SocketWrapperBase<
public abstract int read(boolean block, byte[] b, int off, int len) throws IOException;
public abstract boolean isReady() throws IOException;
+
/**
* Return input that has been read to the input buffer for re-reading by the
* correct component. There are times when a component may read more data
@@ -404,6 +405,7 @@ public abstract class SocketWrapperBase<
holder.getBuf().put(buf,offset,length);
}
+ public abstract void registerWriteInterest() throws IOException;
public abstract void regsiterForEvent(boolean read, boolean write);
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org