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